【发布时间】:2015-11-29 22:06:53
【问题描述】:
我有以下课程:
class Option(models.Model):
default = models.BooleanField(default=False)
name = models.CharField(max_length=50)
def __unicode__(self):
return self.name
我有另一个使用它的类:
class Type(models.Model):
''' more properties here '''
options = models.ManyToManyField(Option, blank=True)
我的想法是,在 django 的 管理站点 中,我可以手动将 Option 实例添加到 Type。
现在,我已经在管理站点中创建了 4 个 Option 实例。
当我转到Type 配置时,转到options,所有4 个实例都已经存在。我希望该框为空并手动添加它们,因为对于Type 的每个实例,列表应该不同。
我该怎么做?有些东西告诉我我误解了ManyToManyField... :)
编辑:为Option 添加ModelAdmin 类:
class OptionAdmin(admin.ModelAdmin):
options = forms.ModelMultipleChoiceField(queryset=Option.objects.all(), widget=FilteredSelectMultiple("verbose name", is_stacked=False))
【问题讨论】: