2
我有兩個Django模型like these:如何從現有的基礎模型實例創建繼承的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()
我以前曾創造了一個Place
實例,就像這樣:
sixth_ave_street_vendor = Place(name='Bobby Hotdogs', address='6th Ave')
sixth_ave_street_vendor.save()
現在鮑比已經升級了擺地攤的餐廳。我怎樣才能在我的代碼中做到這一點? 爲什麼這個代碼不工作:
sixth_ave_restaurant = Restaurant(place=sixth_ave_street_vendor,
serves_hot_dogs=True,
serves_pizza=True)
sixth_ave_restaurant.save()
我同時設置'place_ptr'和'place_ptr_id',但仍Django的嘗試插入一個新的地方:( –
@RezaMohammadi塔t可能是因爲'sixth_ave_street_vendor'還沒有被保存,並且在你的代碼中沒有調用save方法'sixth_ave_street_vendor.save()' –
這裏有另一種方法:創建一個名爲'BasePlace'的模型,並擴展該型號的其他型號。 –