【问题标题】:Declaring a custom form field removes the add icon声明自定义表单字段会删除添加图标
【发布时间】:2011-12-16 11:28:04
【问题描述】:

我按照接受的答案here 更改了我的 Django 管理员中的外键选择列表中的项目顺序。重新排序效果很好,但小添加图标从选择列表后消失了。怎么找回来?

class GameForm(forms.ModelForm):
    publisher = forms.ModelChoiceField(queryset=Publisher.objects.order_by('name'))
    platform = forms.ModelChoiceField(queryset=Platform.objects.order_by('platform'))

    class Meta:
        model = Game

class GameAdmin(admin.ModelAdmin):
    list_display = ('name','platform','publisher','age_rating','buy_date','pub_date')
    form = GameForm

admin.site.register(Game, GameAdmin)

【问题讨论】:

    标签: django django-admin django-forms


    【解决方案1】:

    您的表单会覆盖管理应用程序字段 RelatedFieldWidgetWrapper 小部件

    为了防止这种queryset应该在__init__方法中改变

    class GameForm(forms.ModelForm):
        class Meta:
            model = Game    
    
        def __init__(self, *args, **kwargs):
            super(GameForm, self).__init__(*args, **kwargs)
    
            self.fields['publisher'].queryset = Publisher.objects.order_by('name')
            self.fields['platform'].queryset = Platform.objects.order_by('platform')
    

    【讨论】:

      猜你喜欢
      • 2021-06-25
      • 2020-01-07
      • 1970-01-01
      • 2018-07-05
      • 2019-04-19
      • 1970-01-01
      • 1970-01-01
      • 2019-02-26
      • 2018-01-20
      相关资源
      最近更新 更多