2012-09-20 78 views
3

有没有办法让'GeoData'内嵌显示在管理'店'和'公园'对象?django管理员编辑外键内联

(一个店/公园可以包含若干不同地点)

# Location data 
class GeoData(models.Model): 
    lat = models.FloatField() 
    lon = models.FloatField() 
    description = models.TextField() 

# Parent class for every object with location data 
class GeoEntity(models.Model): 
    title = models.CharField(max_length=32) 
    position = models.ForeignKey(GeoData) 

class Shop(GeoEntity): 
    tel = models.CharField(max_length=32) 
    address = models.TextField() 

class Park(GeoEntity): 
    wifi = models.BooleanField() 
    area = models.IntegerField() 

我试过很多选择从谷歌,但没有一次成功。

谢谢。

+1

必须连接到地理店和示范园区,使管理员可以让你以显示它 – catherine

+1

@duke_nukem直列是你能解决这个问题? –

+0

作为@catherine提到你必须店/公园,地理数据通过多对多的关系连接,然后使用内嵌你可以按照这个链接的详细信息(https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#劳动与一对多一对多的模型) – stillfool

回答

1

尝试添加到您的admin.py这些类。尝试这样的事情。

class ShopAdmin(admin.ModelAdmin): 
    list_display = ('tel', 'address', 'position') 

这可以在Djangobook管理员章节中找到。
http://www.djangobook.com/en/2.0/chapter06.html