2015-05-18 26 views
1

我需要在Django-admin中使用帶有ModelMultipleChoiceField的SelectMultiple小部件。如何在Django管理中使用ModelMultipleChoiceField以及用於SelectMultiple小部件的Django窗體

它沒有在編輯時在django-admin中選擇適當的值。如果可能,請分享一個工作示例。

在此先感謝!

在這個問題上我沒有得到期望的結果,並且在我的項目中沒有錯誤,所以這個問題是不同的。

+0

[與ModelChoiceField更換多對多-關係(可能重複http://stackoverflow.com/questions/30303947/replacement-manytomany-relation-with-modelchoicefield) – Wtower

回答

3

這是一個簡單的例子。如果您model.py樣子:

class YourCategory(models.Model): 
    category_name = models.CharField(max_length=100) 
    def __unicode__(self): 
     return self.category_name 

class YourModel(models.Model): 
    name = models.CharField(max_length=100) 
    included_categories = models.ManyToManyField(Category) 
    def __unicode__(self): 
     return self.name 

您在admin.py覆蓋領域要作爲選擇題:

class YourModelForm(forms.ModelForm): 
    included_categories = forms.ModelMultipleChoiceField(widget=forms.CheckboxSelectMultiple(), 
      queryset = YourCategory.objects.all())#here you can filter for what choices you need 

class YourModelAdmin(admin.ModelAdmin): 
    form = YourModelForm 
+0

我對這個解決方案非常感興趣,但是無法讓它工作。我假設上面的代碼進入應用程序的admin.py,對吧?關於「類別」的情況從哪裏來?和TPForm? – caliph

+0

對不起,這些名字是錯的。我編輯了答案。是的,這進入了admin.py。 –

相關問題