Django много чего, imageField и upload_to - PullRequest
0 голосов
/ 15 апреля 2010

У меня есть две модели, показанные ниже:

class EntryImage(models.Model):  
    image = models.ImageField(upload_to="entries")

class Entry(models.Model):  
    code = models.CharField(max_length=70, unique=True)  
    images = models.ManyToManyField(EntryImage, null=True, blank=True)

Как видите, запись может содержать 0 или более изображений. Мой вопрос: возможно ли иметь такой Схема и динамически изменить upload_to на основе кода входа?

Ответы [ 2 ]

0 голосов
/ 24 июля 2010

Ну, не уходя слишком далеко, вы можете создать промежуточную M2M-таблицу EntryImageDir с именем каталога в ней. Вы бы связали свои EntryImages с внешним ключом и могли бы создать EntryImageDir либо с сигналом при создании Entry, либо при загрузке чего-либо.

Документация для M2M с пользовательскими полями находится здесь: http://www.djangoproject.com/documentation/models/m2m_intermediary/

0 голосов
/ 15 апреля 2010

Вы можете сделать upload_to вызываемым, и в этом случае он будет вызван и передан экземпляру модели, на которой он находится. Однако, возможно, он еще не был сохранен, и в этом случае вы не сможете запросить код входа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...