2016-08-16 34 views
0

我想從另一個模型中調用一個字段。我做的如何從另一個模型調用一個字段?

高清get_shift_date(個體經營):

for d in Shiftdate.objects.select_related('sit_date'): 
    d.shift_date=self.sit_date 
    return d.shift_date 

class Shiftdate(models.Model): 
    shift_date = models.DateField(blank=False,unique=True) 
    sit_date = models.ForeignKey(Sitting, 
           on_delete=models.CASCADE) 

class Sitting(models.Model): 
    sit_date = models.DateField(blank=False,unique=True) 
    cut_off_date = models.DateField(null=True, blank=True) 
    ballot_date = models.DateField(null=True, blank=True) 
    sess_no = models.ForeignKey(Session, 
           on_delete=models.CASCADE) 
    genre = TreeForeignKey('Genre', null=True, blank=True, db_index=True) 

但沒有奏效。有人能幫助我在get_shift_date方法中正確調用移位日期嗎?

編輯: 保存方法:

def save(self, *args, **kwargs): 
      self.sit_date = self.get_shift_date(‌​) 
      super(Sitting, self).save(*args, **kwargs) 
+3

是從你剛纔問的問題,這個不同:http://stackoverflow.com/questions/38966759/shift-date-not-updated-as-sit-date – e4c5

+1

也看了這樣的經歷你以前的問題http://stackoverflow.com/help/someone-answers – e4c5

+0

是的,我無法弄清楚工作解決方案 – ohid

回答

1

您需要刪除self.,d是當前正在遍歷的對象。

for d in Shiftdate.objects.select_related('sit_date'): 
    d.shift_date=self.sit_date 

注:

  1. 你會因爲你不save()

  2. 你的回報也不會因爲工作實際上並不存儲在模型中的值的外循環,即使它只會返回第一個。

+0

這裏是我的保存方法: def save(self,* args,** kwargs): self.sit_date = self.get_shift_date() super(Sitting,self).save(* args,** kwargs) 如何返回所有值? – ohid

相關問題