2016-08-16 61 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

相关问题