【发布时间】:2017-02-11 16:27:10
【问题描述】:
我想获取每个子值的父类值?如何识别要获取的子对象?
我有这样的 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 python-2.7 django-models