這看起來很簡單。Django管理模式保存 - 更新現有的對象
在我的模型save()
我想基本上做一個get_or_create()
。所以我想更新模型,如果它存在或創建一個新的,如果不存在。
這似乎是一個超級簡單的問題,但我沒有得到它的權利!
class StockLevel(models.Model):
stock_item = models.ForeignKey(StockItem)
current_stock_level = models.IntegerField(blank=True, default=0)
def save(self):
try:
# it exists
a = StockLevel.objects.get(stock_item=self.stock_item)
a.current_stock_level = self.current_stock_level
a.save()
except:
# is does not exist yet
# save as normaly would.
super(StockLevel, self).save()
OR
def save(self):
stock_level_item , created = StockLevel.objects.get_or_create(stock_item=self.stock_item)
stock_level_item.current_stock_level = self.current_stock_level
stock_level_item.save()
這也將進入一個無限循環。
這會將save()放在一個無限循環中。但這是它應該如何工作的基本思想。
請顯示一些代碼。 –