2016-12-11 4 views
0

이 모델의 ManyToManyField에 의존하는 Scheduler 모델의 식별자를 만들려고합니다.개체를 만들 때 save 메서드 재정의가 발생합니다.

save 메서드를 재정의하면 처음으로 (개체가 만들어 질 때) 문제가 발생합니다. 먼저 저장해야합니다. 나는 post_save 신호를 생성 한편, 문제는 내가 save

class Scheduler(models.Model): 
    weekhours = models.ManyToManyField('WeekHour', related_name='schedulers') 
    identificator = models.TextField(null=True,blank=True) 

    def save(self,*args,**kwargs): 
     if self.weekhours.all(): 
      identificator = ','.join([str(x.hour) for x in self.weekhours.all().order_by('hour')]) 
      self.identificator = identificator 
     super(Scheduler, self).save(*args, **kwargs) 

ValueError: "<Scheduler: None>" needs to have a value for field "scheduler" before this many-to-many relationship can be used.

당신은 어떤 생각을 가지고 있습니까 INFI로 끝이 신호를 내부 모델을 가지고있다?

답변

0

흠, 무엇을

# some logic here (count the identificator) 
objects.filter(id=my_id).update(identificator=identificator) 
당신의 신호

에 대해 - 그리고 무시하지 않는 저장? :)