Я пытаюсь создать простую фотогалерею с администратором Django по умолчанию. Я хотел бы сохранить образец фотографии для каждой галереи, но я не хочу сохранять filname. Вместо имени файла я хотел бы сохранить идентификатор модели (N.jpg
). Но в первый раз, когда я хочу сохранить объект, идентификатор не существует. Как узнать следующий автоматический прирост в модели или каким-либо образом сохранить данные модели перед загрузкой с помощью super.save
и после загрузки файла, когда существует self.id
? Есть ли прохладное решение?
Что-то вроде этого:
def upload_path_handler(instance, filename):
ext = filename extension
return "site_media/images/gallery/{id}.{ext}".format(id=instance.nextincrement, ext=ext)
class Gallery(models.Model):
name = models.TextField()
image = models.FileField(upload_to=upload_path_handler)
И, возможно, сохраните имя файла в другом поле.