0

我在我的视图中构建了以下表单

视图.PY

class MembershipForm(forms.ModelForm):
    project = forms.ModelChoiceField(Project, required=True)
    role = models.ManyToManyField(Role, blank=True)

模型.PY

class Membership(models.Model):
    project = models.ForeignKey(Project)
    role = models.ManyToManyField(Role, blank=True, null=True)

在我的模板中,角色没有“------”选项。我怎样才能将其作为一个选项并默认选择它?

4

2 回答 2

1

首先,您的 MembershipForm 看起来不正确。修复它

class MembershipForm(forms.ModelForm):
    # Do you really need to override the form field for role?
    class Meta:
        model = Membership

或者是其他东西。

其次,对于ManyToManyField,不使用空标签'--------',因为小部件可能表示没有选择任何项目的状态,并且同时选择空标签和实际项目会令人困惑。

于 2012-04-07T04:00:01.693 回答
0

我不确定为什么缺少空白选项是视图,但要设置默认值,请使用默认字段

class Membership
    role = models.ManyToManyField(Role, blank=True, null=True, default = "")
于 2012-04-06T22:36:19.523 回答