class Contest(models.Model): """ Конкурс, проводимый ежегодно """ title = models.CharField(max_length=200, verbose_name='Название конкурса') year = models.SlugField(unique=True, max_length=4, verbose_name='Год конкурса') description = models.TextField(verbose_name='Описание конкурса') def __unicode__(self): return unicode(self.year + " " + self.title) class Meta: verbose_name = 'Конкурс' verbose_name_plural = 'Конкурсы'Допустим мы хотим использовать ее в модели Призер:
class Prizer(models.Model): contest = models.ForeignKey(Contest, verbose_name=u'Конкурс') # другие поля... class Meta: verbose_name = 'Призер' verbose_name_plural = 'Призеры'Вот как в админке Django отобразится модель Prizer и поле contest:
Для того, чтобы эти записи в выпадающем списке были отсортированы по-порядку, в классе Contest добавим:
class Contest(models.Model): # все то же, что написано выше class Meta: # ... #вот эта магическая строчка для сортировки: ordering = ('year',)После этого записи будут отсортированы в используемом поле ForeignKey по-порядку:
Комментариев нет:
Отправить комментарий