2016-01-11 37 views
0

我想讓我的模型之一保存到保存我的Claim模型的日曆條目。我得到:django:不能分配「8」:「JobCalendar.claim」必須是「索賠」實例

不能指定 「8」: 「JobCalendar.claim」 必須是一個 「索賠」 的實例。

索賠型號:

class Claim(models.Model): 
    firstname = models.CharField(max_length=50, blank=False, null=False) 
    lastname = models.CharField(max_length=50, blank=False, null=False) 
    ... 

    def save(self, *args, **kwargs): 
     JobCalendar = get_model('jobs_calendars', 'JobCalendar') 
     j = JobCalendar.objects.create(title=self.title, claim=self.id, 
             tooltip='this is a tooltip', start='self.start') 

     j.save() 
     super(Claim, self).save(*args, **kwargs) 

    def __unicode__(self): 
     return '{}: {} {}'.format(str(self.id), self.claimant_firstname, self.claimant_surname) 
+1

您是否嘗試過:'J = JobCalendar.objects.create( title = self.title,claim = Claim.objects.get(id = self.id),tooltip ='這是一個工具提示',start ='self.start')' –

+0

這很有效。如果你想把它作爲答案,我會把它標記爲答案。謝謝 – Mantis

+1

完成並應用了Sayse的建議 –

回答

1

你試過:

EDIT(感謝@Sayse):

j = JobCalendar.objects.create(title=self.title, claim=self, tooltip='this is a tooltip', start='self.start') 
+1

雖然這會創建額外的sql查詢,但「claim = self」應該足夠了 – Sayse

相關問題