在admin.py中,我注册了一些模型,在这些注册的模型中,我定义了一些字段,例如搜索字段。这些字段显示在模型的“更改”部分中,但未显示在模型管理页面的“添加”部分中。总的来说,我要完成的工作是在模型AuthGroupFilePermissions的添加页面上添加一个过滤器,这样,当用户添加auth组文件权限时,他们不必查看一长串文件模式(超过1000个) ,因此非常不友好)。 该键实际上是Filepattern_id,它是另一个模型的外键。
我尝试覆盖formfield_for_foreingkey方法,以及使用filter_vertical和filter_horizontal
@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的字段未显示在模型管理员中,二,我不确定如何向添加页面添加过滤器,类似于权限的添加组页面上的过滤器。>