我想获取每个子值的父类值吗?我如何识别要提取的子对象?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没有问题。 –