Django:对于具有中间模型的多对多字段,有没有办法使用多重选择?

时间:2009-12-15 20:23:53

标签: django-admin

文档说:

  

指定中间模型时   使用通过参数来   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 :(得分:0)

我通过定义没有'through'的'site'm2m字段来解决我的问题,而是指定与QuoteSite类使用的相同的db_table。因为我使用QuoteSite类上的管理器而不是Quotation类来检索我的'TodaysQuote()',结果证明Quotation类没有理由知道dateLastUsed。