如何在 django-admin 和 django-form 中为 SelectMultiple 小部件使用 ModelMultipleChoiceField
How to use ModelMultipleChoiceField in django-admin and django-form for SelectMultiple widget
我需要在 Django-admin 中将 SelectMultiple 小部件与 ModelMultipleChoiceField 一起使用。
编辑时没有在 django-admin 中选择正确的值。如果可能,请分享一个工作示例。
提前致谢!!!
在这个问题中我没有得到想要的结果并且我的项目中没有错误,所以这个问题是不同的。
这是一个简单的例子。如果您的 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
我需要在 Django-admin 中将 SelectMultiple 小部件与 ModelMultipleChoiceField 一起使用。
编辑时没有在 django-admin 中选择正确的值。如果可能,请分享一个工作示例。
提前致谢!!!
在这个问题中我没有得到想要的结果并且我的项目中没有错误,所以这个问题是不同的。
这是一个简单的例子。如果您的 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