django多表继承:将“地方”升级为“餐厅”

时间:2018-02-27 15:12:08

标签: django

2010年here已经提出了同样的问题,最近的答案是2014年。我想知道当前的django 2.0是否更简单。我在文档中找不到任何关于它的内容。

model inheritance的django文档中,该示例列出了PlaceRestaurant模型

from django.db import models

class Place(models.Model):
    name = models.CharField(max_length=50)
    address = models.CharField(max_length=80)

class Restaurant(Place):
    serves_hot_dogs = models.BooleanField(default=False)
    serves_pizza = models.BooleanField(default=False)

假设我已在Place中有一个对象,如何将其提升为Restaurant

1 个答案:

答案 0 :(得分:0)

我最终按照

的方式做了一些事情
p = Place.objects.get(name="Bob's Cafe")
Restaurant.objects.create(
    place_ptr = p.id,
    serves_hot_dogs = True,
    serves_pizza = False
)