Oto mój model. Co chcę zrobić, to wygenerować nowy plik i zastąpić istniejący gdy instancja modelu jest zapisany:Django - jak utworzyć plik i zapisać go w FileField modelu?
class Kitten(models.Model):
claw_size = ...
license_file = models.FileField(blank=True, upload_to='license')
def save(self, *args, **kwargs):
#Generate a new license file overwriting any previous version
#and update file path
self.license_file = ???
super(Request,self).save(*args, **kwargs)
widzę mnóstwo dokumentacji o tym, jak przesłać plik. Ale w jaki sposób mogę wygenerować plik, przypisać go do pola modelu i czy Django będzie przechowywać go we właściwym miejscu?
Ok, myślę, że będzie działać, ale ja dostaję w jakiejś pętli rekurencyjnej dzwoniącej, że w sposobie oszczędzania. Po prostu tworzy pliki na zawsze. – Greg
Dla problemu rekursywnego muszę wywołać self.license_file.save z arg save = False. – Greg
@Greg dziękuję, problem rekurencyjny jest naprawdę denerwujący. – laike9m