编辑为使用一对一字段
我想把建筑物的面积加到django modeladmin中。表格结构是
class Buildings(models.Model):
id = models.AutoField(primary_key=True)
auto_sf = models.OneToOneField(Area, db_column='id')
class Area(models.Model):
id= models.IntegerField('Buildings', db_column='id')
area=models.FloatField(blank=True, null=True)
我知道我可以使用
b=buildings.get(id=1)
print(b.area.area)
但我不知道如何将b.area.area合并到modeladmin中,因为这不起作用。
class AdminSection(admin.ModelAdmin):
def area(self, obj):
return obj.area.area
fields=(('id','area'))
如前所述,您希望使用inline model admin,如下所示:
此外,理想情况下,您的模型应该具有单数名称,即
Building
,以便更具语义意义-例如,建筑物具有一个区域。除非Buildings
对象实际上是在管理每个实例的多个建筑。相关问题 更多 >
编程相关推荐