列出新列表项时'field list'中'site_id'的未知列



我有一个要添加的框架。我有这个关于这个笼子的信息列表,但想再添加两个项目;网站和公司。在我想添加";站点";以及";公司";

在添加笼子时,可以使用ForeignKey选择公司和网站,如您在models.py代码中所见:

class Cage(models.Model):
external_id = models.CharField(max_length=200, null=False)
name = models.CharField(max_length=200, null=False)
site = models.ForeignKey(
Site, null=True,
on_delete=models.PROTECT
)
company = models.ForeignKey(
Company, null=True,
on_delete=models.PROTECT,
)
latitude = models.FloatField(null=True, blank=True)
longitude = models.FloatField(null=True, blank=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name

我的admin.py代码如下:

class CageAdmin(admin.ModelAdmin):
list_display = ('id', 'external_id', 'name', 'drone_match', 'latitude', 'longitude')
def drone_match(self, obj):
drone_cages = DroneCage.objects.filter(cage_id=obj.id)
link = ''
if len(drone_cages) > 1:
link = 'multiple drones'
elif len(drone_cages) == 1:
drone = Drone.objects.filter(id=drone_cages[0].drone_id)[0]
link = format_html('<a href="{}">{}</a>'.format(
reverse('admin:baleen_drone_change', args=(drone.id, )),
drone.serial
))
return link
drone_match.short_description = 'Current Drone'

当我在列表中添加网站和公司时,显示如下:

list_display = ('id', 'external_id', 'name', 'site', 'company', 'drone_match', 'latitude', 'longitude')

我得到以下错误:

列出新列表项时,"字段列表"中的未知列"site_id"。

我不明白为什么网站和公司不起作用,而纬度和名称却起作用。提前,谢谢。

引用外键时会有点复杂。这里有一个很好的解释:https://stackoverflow.com/a/23747842/1536402

最新更新