我有一个具有多对多字段的模型,它通过具有布尔值的表链接该字段。
我在不同的场景中得到了这个,让我们将用户作为主要模型,将兴趣作为多对多字段,将 user_interest 模型作为直通模型,在 user_interest 内部我有一个布尔字段,我希望用户在选择他的每一个时指定他的每个很多价值,
目前我被困在试图找到一个合适的表单界面来满足我的需要,目前正在使用只显示兴趣选择的 MultipleSelect 小部件,是否有任何字段控制示例可以让我选择兴趣并指定布尔字段?如果不是,在我的情况下遵循的最佳做法是什么?
此致,
使用代码示例更新问题
class Interest(models.Model):
name = models.CharField(_('Name'), max_length=200, )
class UserInterest(models.Model):
interest = models.ForeignKey(Interest, )
user = models.ForeignKey(getattr(settings, 'AUTH_USER_MODEL'), )
join_mail_list = models.BooleanField(default=False)
class User(models.Model):
name = models.CharField(max_length=100)
interest = models.ManyToManyField(Interest, through='UserInterest', related_name='user_interest')
现在基于上面的模型,当我尝试从 User 模型创建 ModelForm 时,我会对 MultiSelect 字段产生兴趣,这是完全正确的。但是,在我的情况下,我希望表单收集用户兴趣 + 为每个兴趣,如果他想要 join_mail_list 以获得该特定兴趣。请指教?