새 항목을 생성하고 새로 만든 항목의 ID를 기반으로 동일한 모델의 다른 항목을 업데이트하려고합니다. 그래서 나는 구원 후에 그것을해야만합니다. 그러나 나는 다음과 같은 오류를 받고 있어요 :저장시 최대 재귀 깊이 오류가 발생했습니다.
maximum recursion depth exceeded
item
객체는 유효한 것으로 보인다 및 루프 자체에 대한 일반적으로 item
객체를 통해 순환하지 않고 반복합니다. save()를 도입하면 오류가 발생합니다. Obviuosly save() 메서드의 내부 동작을 완전히 이해하지 못하는 것 같습니다. 어떤 도움을 주시면 감사하겠습니다.
코드 :
class SimCardInTracker(models.Model):
tracker = models.ForeignKey(Tracker)
simcard = models.ForeignKey(SimCard)
start = models.DateTimeField(auto_now_add=True, unique=True)
end = models.DateTimeField(null=True, blank=True)
def __unicode__(self):
return self.tracker.serial_no
def save(self, *args, **kwargs):
super(SimCardInTracker, self).save(*args, **kwargs)
prev_items = SimCardInTracker.objects.exclude(id = self.id).filter(tracker__id = self.tracker.id)
for item in prev_items:
item.end = datetime.datetime.now()
item.save()
+1. 감사! –