[英]Show object ID (primary key) in Django admin object page
假设我有以下model.py
:
class Book(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
name = models.CharField(max_length=100, unique=True)
我使用以下命令在admin.py
注册此模型:
admin.site.register(Book)
在管理员中查看现有Book
时,只显示name
字段。
我的问题是:此页面中是否也可以看到ID?
我发现的大多数答案都与管理列表而不是对象实例页面有关。 显示ID字段的一种方法是通过从模型定义中删除editable=False
使其可editable=False
。 但是,我想将它保持为只读。
您可以将它添加到modeladmin类中的readonly_fields
。
class BookAdmin(admin.ModelAdmin):
readonly_fields = ('id',)
admin.site.register(Book, BookAdmin)
编辑
我删除了我的答案,因为它和@DanielRoseman一样,但这只是为了澄清。 这来自文档 :
如果为False,则该字段不会显示在admin或任何其他ModelForm中。 在模型验证期间也会跳过它们。 默认为True。
因此,使用readonly_fields是可行的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.