Har*_*rry 1 django django-models django-admin
这看起来很简单.
在我的模型上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()
Run Code Online (Sandbox Code Playgroud)
要么
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()
Run Code Online (Sandbox Code Playgroud)
这也将进入无限循环.
这只会将save()置于无限循环中.但这是它应该如何运作的基本思路.
| 归档时间: |
|
| 查看次数: |
3961 次 |
| 最近记录: |