Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django原始id字段小部件未显示搜索图标_Django_Django Admin - Fatal编程技术网

Django原始id字段小部件未显示搜索图标

Django原始id字段小部件未显示搜索图标,django,django-admin,Django,Django Admin,我的admin.py中有以下代码: class UserManagedGroupAdmin(admin.ModelAdmin): inlines = [MembershipInline] search_fields = ('name', 'leader__username', ) list_display = ('__unicode__', 'leader', ) filter_horizontal = ('permissions', ) raw_id_f

我的admin.py中有以下代码:

class UserManagedGroupAdmin(admin.ModelAdmin):
    inlines = [MembershipInline]
    search_fields = ('name', 'leader__username', )
    list_display = ('__unicode__', 'leader', )
    filter_horizontal = ('permissions', )
    raw_id_fields = ('leader', )

admin.site.register(UserManagedGroup, UserManagedGroupAdmin)
用于搜索的放大镜图标未显示在管理页面中

这就是我得到的:

正如您所看到的,它显示的是模型的unicode方法,而不是我想要的搜索图标

字段
'leader'
是指向
用户的
外键

是django出于安全原因禁用了对
ForeignKeys
User
的搜索,还是我做错了什么

这个小部件非常适合选择用户。。。我的意思是,我不能给我网站的每个用户留下一个巨大的选择


谢谢。

多亏了django用户,我发现了这个问题

我必须在管理员中注册
ForeignKey
指向的模型


如果没有它,搜索将无法工作。

admin.py
文件中添加:

admin.site.register(YourModel)

这就成功了,你的模型就是要用放大镜显示的模型。你遇到了同样的问题,但原因有点不同

将用户和用户组与其他应用程序的管理员集成(例如,
某些应用程序

我将下面的代码添加到
some_app/admin.py

class ProxyUser(User):
    class Meta:
        proxy = True
        verbose_name = User._meta.verbose_name
        verbose_name_plural = User._meta.verbose_name_plural


class ProxyGroup(Group):
    class Meta:
        proxy = True
        verbose_name = Group._meta.verbose_name
        verbose_name_plural = Group._meta.verbose_name_plural

admin.site.unregister(Group)
admin.site.unregister(User)
admin.site.register(ProxyGroup)
admin.site.register(ProxyUser, UserAdmin)
我认为
注销(…)
将影响其他应用程序的全局管理


这是搜索图标丢失的另一个原因。

谢谢,这对我很有用。只是为了澄清问题中给出的示例。询问者没有在管理员中注册
用户
,因此管理员无法识别它。这种情况的表现是望远镜图标不显示。如果我处于这种情况,但我仍然希望选择器为我显示?因为我确实注册了一个管理员,它是Django
User
类和我定制的
UserProfile
类的组合管理员。我将为
UserProfile
注册一个单独的管理员,并尝试隐藏它。