我想獲取每個子值的父類值嗎?我如何識別要提取的子對象?Django基於類別繼承和訪問子模型
我有這樣的Django模型結構。
class Category(models.Model):
name = models.CharField(max_length=80)
class Place(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
category = models.ForeignKey('Category')
class PizzaRestaurant(Place):
serves_hot_dogs = models.BooleanField(default=False)
serves_pizza = models.BooleanField(default=False)
class PastaRestaurant(Place):
extra = models.CharField(max_length=80)
當我們做手術時,我們可能會像下面那樣保存對象。並按照我的預期保存到分貝中。 Place表中的兩個條目和每個子對象表中的每個條目。
a = Category()
a.name = "pasta"
b = Category()
b.name = "pizza"
a.save()
b.save()
x = PastaRestaurant()
x.address = "Pasta Address"
x.name = "Pastamonia"
x.extra = "some extra"
x.category = a
y = PizzaRestaurant()
y.address = "Pizza Address"
y.name = "Dominos"
y.serves_hot_dogs = 1
y.serves_pizza = 0
y.category = b
x.save()
y.save()
現在我需要訪問這樣
p = Place.objects.get(id=1)
我怎麼能知道,哪些對象/屬性屬於地方的對象? 所以,當我獲取具有共同屬性的地方,並且也應該能夠獲取相應的子對象值。
或者其他模型設計適合我的需求?
Django的模型utils的通過1.9支持的Django 1.4。它不適用於當前版本1.10?爲Django的新版本我們不知道這是工作嗎? –
我用它與1.10沒有問題。 –