2012-04-06 55 views
0

我有以下形式在我看來構建DJANGO:ManyToManyField空白選擇選項在形式上缺少

VIEW.PY

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

MODEL.PY

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

在我的模板,有不是「---------」角色選項。我如何將此作爲選項並默認選中?

+0

另請注意,您在表單中使用了models.FIELD,這是不正確的。您不能使用models.ManyToManyField作爲表單字段。它完全是一個模型領域。 – 2012-04-07 08:04:14

回答

0

我不知道爲什麼空白選項丟失是視圖,但設置默認值使用default field

class Membership 
    role = models.ManyToManyField(Role, blank=True, null=True, default = "") 
1

首先,您的MembershipForm看起來不正確。修復它要麼

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

或別的東西。

其次,對於ManyToManyField,沒有使用空標籤'--------',因爲小部件可能表示沒有物品被挑選的狀態,並且其混淆爲具有空標籤和實際物品採摘。

+0

如何創建一個小部件來表示一個沒有物品挑選的狀態? – thedeepfield 2012-04-12 22:27:01