如何在 Django 管理中显示实际的外键 ID?
How to show the actual foreign key id in Django admin?
当我在管理员中查看 Bar 记录时,外键的下拉列表显示 Foo 的标题,而不是 Foo 的 ID。可以有多个名称相同的标题,因此这没有帮助。 我想在管理中查看 Bar 时查看 Foo 的 ID。
这是我的 models.py
from django.db import models
class Foo(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
title = models.CharField(max_length=255)
class Bar(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
foo = models.ForeignKey(Foo, on_delete=models.CASCADE)
这是我的 admin.py
from django.contrib import admin
from .models import Foo, Bar
class FooAdmin(admin.ModelAdmin):
readonly_fields = ('id',)
class BarAdmin(admin.ModelAdmin):
readonly_fields = ('id',)
admin.site.register(Foo, FooAdmin)
admin.site.register(Bar, BarAdmin)
将此添加到您的 模型。
class Bar(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
foo = models.ForeignKey(Foo, on_delete=models.CASCADE)
def __str__(self):
return self.id
当我在管理员中查看 Bar 记录时,外键的下拉列表显示 Foo 的标题,而不是 Foo 的 ID。可以有多个名称相同的标题,因此这没有帮助。 我想在管理中查看 Bar 时查看 Foo 的 ID。
这是我的 models.py
from django.db import models
class Foo(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
title = models.CharField(max_length=255)
class Bar(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
foo = models.ForeignKey(Foo, on_delete=models.CASCADE)
这是我的 admin.py
from django.contrib import admin
from .models import Foo, Bar
class FooAdmin(admin.ModelAdmin):
readonly_fields = ('id',)
class BarAdmin(admin.ModelAdmin):
readonly_fields = ('id',)
admin.site.register(Foo, FooAdmin)
admin.site.register(Bar, BarAdmin)
将此添加到您的 模型。
class Bar(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
foo = models.ForeignKey(Foo, on_delete=models.CASCADE)
def __str__(self):
return self.id