如何在django-admin和django-form中为SelectMultiple小部件使用ModelMultipleChoiceField

时间:2015-05-18 14:21:08

标签: django django-forms django-admin

我需要在Django-admin中使用带有ModelMultipleChoiceField的SelectMultiple小部件。

在编辑时,它没有在django-admin中选择正确的值。如果可能,请分享一个工作示例。

提前致谢!!!

在这个问题上,我没有得到理想的结果,我的项目没有错误,所以这个问题不同。

1 个答案:

答案 0 :(得分: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所需字段中覆盖MultipleChoice:

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