Rez*_*adi 3 django django-models django-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()
serves_pizza = models.BooleanField()
Run Code Online (Sandbox Code Playgroud)
我之前创建了一个Place实例,如下所示:
sixth_ave_street_vendor = Place(name='Bobby Hotdogs', address='6th Ave')
sixth_ave_street_vendor.save()
Run Code Online (Sandbox Code Playgroud)
现在鲍比已经将他的街头小贩升级为一家餐厅。我怎样才能在我的代码中做到这一点?为什么此代码不起作用:
sixth_ave_restaurant = Restaurant(place=sixth_ave_street_vendor,
serves_hot_dogs=True,
serves_pizza=True)
sixth_ave_restaurant.save()
Run Code Online (Sandbox Code Playgroud)
这是我的解决方法:
sixth_ave_restaurant = Restaurant(place_ptr=sixth_ave_street_vendor,
serves_hot_dogs=True,
serves_pizza=True)
sixth_ave_restaurant.save_base(raw=True)
Run Code Online (Sandbox Code Playgroud)
如果你想用 做其他事情sixth_ave_restaurant,你应该再次获取它,因为它还id没有被分配,因为它在正常之后被分配save():
sixth_ave_restaurant = Restaurant.objects.get(id=sixth_ave_street_vendor.id)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
747 次 |
| 最近记录: |