Загрузка административного файла Django с идентификатором текущей модели
Я пытаюсь создать простую фотогалерею с администратором Django по умолчанию. Я хотел бы сохранить образец фотографии для каждой галереи, но не хочу сохранять имя файла. Вместо имени файла я бы хотел сохранить идентификатор модели (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)
И, возможно, сохранить имя файла в другом поле.