2015-02-24 57 views
2

我们知道Django allows us to use model inheritance。但是我想知道是否有可能在继承链上创建一个给定模型的现有实例,同时保留应用程序的完整性。沿着模型继承链移动现有的django对象

示例(从官方文档):

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,是有办法做到这一点安全?

我使用Django 1.7,Python的3.4

+1

真棒问题的解决,我会做一些玩耍... – awwester 2015-02-24 19:46:07

+0

@ awwester谢谢。我不愿意问,因为我不确定我的前提是否正确。 – 2015-02-24 19:53:13

回答

0

对于低垂我找到了这样的

restaurant = Restaurant(place_ptr_id=place.id) 
restaurant.__dict__.update(place.__dict__) 
restaurant.save()