我想从另一个模型中调用一个字段。我在做什么
def get_shift_date(self):
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方法中正确调用shift日期吗?
编辑: 保存方法:
def save(self, *args, **kwargs):
self.sit_date = self.get_shift_date()
super(Sitting, self).save(*args, **kwargs)
答案 0 :(得分:1)
您需要删除self.
,d是当前正在迭代的对象。
for d in Shiftdate.objects.select_related('sit_date'):
d.shift_date=self.sit_date
注意:
您实际上不会将值存储在模型中,因为您没有save()
你的回报不会有效,因为它在循环之外,即使那样它也只会返回第一个。