表单字段未出现在django管理页面的添加页面中

时间:2019-10-21 13:51:40

标签: django django-forms django-admin

在admin.py中,我注册了一些模型,在这些注册的模型中,我定义了一些字段,例如搜索字段。这些字段显示在模型的“更改”部分中,但未显示在模型管理页面的“添加”部分中。总的来说,我要完成的工作是在模型AuthGroupFilePermissions的添加页面上添加一个过滤器,这样,当用户添加auth组文件权限时,他们不必查看一长串文件模式(超过1000个) ,因此非常不友好)。 该键实际上是Filepattern_id,它是另一个模型的外键。

我尝试覆盖formfield_for_foreingkey方法,以及使用filter_vertical和filter_horizo​​ntal

@admin.register(models.AuthGroupFilePermissions)
class AuthGroupFilePermissions(admin.ModelAdmin):
    list_filter = ('group', )
    search_fields = ['file_pattern__filename_pattern']
    filter_vertical = ('file_pattern',)
    def formfield_for_foreignkey(self, db_field, request, **kwargs):
        print2(kwargs)
        if db_field.name == 'file_pattern':
            kwargs['queryset'] = models.CentralFeedInfo.objects.filter(filename_pattern__icontains='')
        return super().formfield_for_foreignkey(db_field, request=request, **kwargs)

    class Media:
        js = ('/static/admin/js/filepattern_search.js',)

所以我确实有两个问题。一,我要添加到modelAdmin的字段未显示在模型管理员中,二,我不确定如何向添加页面添加过滤器,类似于权限的添加组页面上的过滤器。

0 个答案:

没有答案