Джанго: Есть ли способ использовать множественный выбор для поля «многие ко многим» с промежуточной моделью? - PullRequest
0 голосов
/ 15 декабря 2009

В документах сказано:

При указании модели посредника используя аргумент через ManyToManyField, админ не будет отображать виджет по умолчанию.

ОК, но как насчет того, если я хочу виджет с множественным выбором?

У меня есть модель:

class Quotation(models.Model):
 source    = models.CharField()
 sourceLink  = models.URLField( blank=True)
 text   = models.TextField()
 site   = models.ManyToManyField(Site, through="QuoteSite" )

и модель-посредник:

class QuoteSite(models.Model):
 entry    = models.ForeignKey(Quotation)
 site   = models.ForeignKey(Site)
 dateLastUsed = models.DateField(default=date(2000,01,01))

Все, что я хочу сделать, - это позволить пользователям в админке выбирать один или несколько сайтов для их цитаты. Мне все равно, могут ли они редактировать поле datelastUsed в промежуточной модели.

Разве это невозможно?

1 Ответ

0 голосов
/ 16 декабря 2009

Я решил свою проблему, определив поле m2m «site» без «through», указав вместо этого ту же самую db_table, которая используется классом QuoteSite. Поскольку я извлекаю свой TodaysQuote (), используя менеджер класса QuoteSite, а не класса Quotation, оказывается, что у класса Quotation нет никаких оснований вообще знать о dateLastUsed.

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