У меня есть следующая модель, содержащая FileField
, где пользователь предоставляет zip-файл, содержащий изображения. Этот zip-файл обрабатывается методом process_zipfile()
во время сохранения.
class Album(models.Model):
nom = models.CharField(max_length = 200)
added_by = models.ForeignKey(User, null=True, blank=True)
gallery = models.ForeignKey(Gallery, null=True, blank=True)
zip_file = models.FileField('image field .zip', upload_to=PHOTOLOGUE_DIR+"/temp",
help_text='Select a .zip file of images to upload into a new Gallery.')
class Meta:
ordering = ['nom']
def save(self, *args, **kwargs):
self.gallery = self.process_zipfile()
super(Album, self).save(*args, **kwargs)
def delete(self, *args, **kwargs):
photos = self.gallery.photos.all()
for photo in photos:
photo.delete()
self.gallery.delete()
super(Album, self).delete(*args, **kwargs)
def process_zipfile(self):
if os.path.isfile(self.zip_file.path):
......(creates gallery object and links the photos)
return gallery
работает нормально, за исключением того, что поле gallery
(оставлено пустым в форме) не заполняется галереей, созданной process_zipfile()
. Что я не так делаю?
Кроме того, метод удаления, похоже, не работает, понимаете?