이것은 매우 간단합니다.Django admin model save - 기존 객체 업데이트
내 모델에서 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()
또는
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()가 무한 루프에 놓이게됩니다. 하지만 그것이 어떻게 작동해야하는지에 대한 기본적인 생각입니다.
일부 코드를 표시하십시오. –