0

ビューで次のフォームを作成しました

VIEW.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

または、他の何か。

第 2 に、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 に答える