【问题标题】:ModelMultipleChoiceField field returning no valueModelMultipleChoiceField 字段无返回值
【发布时间】:2021-11-22 23:38:08
【问题描述】:
class DocumentForm(forms.ModelForm):
    model = Document
    starred_by = forms.ModelMultipleChoiceField(queryset=User.objects.all())

    class Meta:
        widgets = {

            'created_by': AutocompleteSelect(
                Document._meta.get_field('created_by').remote_field,
                admin.site,
                attrs={'data-dropdown-auto-width': 'true'}
            ),
            'organisation': AutocompleteSelect(
                Document._meta.get_field('created_by').remote_field,
                admin.site,
                attrs={'data-dropdown-auto-width': 'true'}
            ),
            'starred_by':AutocompleteSelectMultiple(
                Document._meta.get_field('starred_by').remote_field,
                admin.site,
                attrs={'data-dropdown-auto-width': 'true'}
            )
        }

更新:

我已经阅读了一些关于 select2 库的信息,但我无法理解如何将它与 Django-admin 集成我的要求主要是外键的可搜索选择下拉列表和多选下拉列表对于多对多字段,但这些字段我想要在我的应用程序的 Django 管理面板中,任何帮助将不胜感激,在此先感谢

【问题讨论】:

    标签: django django-forms django-admin django-admin-filters


    【解决方案1】:

    这就是我解决它的方法,我使用了 Django 的本机搜索字段,它在后台使用了 Sleect2

    class OrganisationAdmin(admin.ModelAdmin):
            list_display = ('name','address')
            autocomplete_fields  = ['products']
            search_fields = ['name__iexact']
            # autocomplete_fields = ['']
        
        
        class ProductAdmin(admin.ModelAdmin):
            search_fields = ['name']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-22
      • 2018-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-21
      • 2019-11-25
      • 2012-10-22
      相关资源
      最近更新 更多