[英]django sites and showing id in admin editor
我在 django 中使用Site
模块。 在管理界面中,我看到了域名和显示名称。 但是,我真的很想查看主键 ID,因为我通过SITE_ID
指定了站点。
现在我可以通过编辑./venv/lib/python3.7/site-packages/django/contrib/sites/admin.py
来做到这一点,但这在很多方面都是糟糕的形式。 我只是添加“id”,因此:
class SiteAdmin(admin.ModelAdmin):
list_display = ('id', 'domain', 'name')
search_fields = ('id', 'domain', 'name')
我在我的一个models.py
文件中执行了以下操作,这有助于 shell 但未显示在管理员中:
def site_name(self):
return '{domain} ({id})'.format(
domain=self.domain, id=self.id)
Site.__str__ = site_name
有什么建议如何做到这一点(或指出我做错了什么,我认为我想要它)?
在您的 admin.py 中,添加以下代码:
from django.contrib.sites.models import Site
class SiteAdmin(admin.ModelAdmin):
list_display = ('id', 'domain', 'name')
search_fields = ('id', 'domain', 'name')
admin.site.unregister(Site)
admin.site.register(Site, SiteAdmin)
由于Site
已在管理员中注册,因此您必须先unregister
,然后再重新注册。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.