Django管理面板显示ForeignKey数据



我试图在管理面板中显示更多信息,但无法我有两个外国钥匙的型号我尝试显示街道列表并添加到街道名称城市名称

class Street(models.Model):
name = models.CharField(max_length=50, verbose_name='Street')
code = models.IntegerField()
city = models.ForeignKey('City', on_delete=models.PROTECT, null=True)
class Meta:
managed = True
db_table = 'street'
def __str__(self):
return self.name + f'({self.city.name})'
class City(models.Model):
name = models.CharField(max_length=50, verbose_name='City')
code = models.IntegerField()
class Meta:
managed = True
db_table = 'city'
def __str__(self):
return self.name+ f' ({self.code})'

如果我正确理解您的问题,下面的代码应该可以工作。没有图像,我发现很难理解

admin.py

from django.contrib import admin
from .models import Street
class StreetAdmin(admin.ModelAdmin):
list_display = ('id', 'name', 'city')
admin.site.register(Street, StreetAdmin)

其中一条街道连接到一个我从数据库中删除的城市,这就是我收到错误的原因

最新更新