【问题标题】:How to use ModelMultipleChoiceField in django-admin and django-form for SelectMultiple widget如何在 django-admin 和 django-form 中为 SelectMultiple 小部件使用 ModelMultipleChoiceField
【发布时间】:2015-05-18 14:21:07
【问题描述】:

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

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

提前致谢!!!

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

【问题讨论】:

标签: django django-forms django-admin


【解决方案1】:

这是一个简单的例子。如果您的 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

【讨论】:

  • 我对这个解决方案很感兴趣,但无法让它发挥作用。我假设上面的代码进入了应用程序的 admin.py,对吧?那么“类别”从哪里来?还有 TPForm?
  • 对不起,这些名字是错误的。我编辑了答案。是的,这进入了 admin.py。
  • 我可以不涉及任何模型关系吗?
猜你喜欢
  • 2010-10-13
  • 2017-09-11
  • 2011-02-07
  • 2011-03-28
  • 1970-01-01
  • 2011-01-06
  • 2011-09-15
  • 2019-12-13
  • 1970-01-01
相关资源
最近更新 更多