如何从另一个模型调用一个字段? [英] How to call one field from another model?
本文介绍了如何从另一个模型调用一个字段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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 = model.DateField(blank = False,unique = True)
sit_date = models.ForeignKey(Sitting,
on_delete = models.CASCADE)
to
class Sitting(models.Model):
ballot_date = models.DateField(null = True,blank = True)
cut_off_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 self self self self self self self self self self self self self self self self self self self self self self self self self self self self self self self self self self self ).save(* args,** kwargs)
解决方案
您需要删除 self。
,d是当前正在迭代的对象。
for d in Shiftdate.objects.select_related('sit_date'):
d.shift_date = self.sit_date
注意:
-
您将不会在模型中实际存储该值你不会
save()
它 -
你的回报不会工作,因为它在循环之外即使这样,它只会返回第一个。
I want to call a field from another model. I am doing by
def get_shift_date(self):
for d in Shiftdate.objects.select_related('sit_date'):
d.shift_date=self.sit_date
return d.shift_date
from
class Shiftdate(models.Model):
shift_date = models.DateField(blank=False,unique=True)
sit_date = models.ForeignKey(Sitting,
on_delete=models.CASCADE)
to
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)
But it didn't work. Could some one help me to correctly call shift date in the get_shift_date method?
Edit: Save method:
def save(self, *args, **kwargs):
self.sit_date = self.get_shift_date()
super(Sitting, self).save(*args, **kwargs)
解决方案
You need to remove the self.
, d is the object that is currently being iterated over.
for d in Shiftdate.objects.select_related('sit_date'):
d.shift_date=self.sit_date
Note:
You won't actually be storing the value in the models since you don't
save()
itYour return won't work since its outside the loop and even then it will only return the first.
这篇关于如何从另一个模型调用一个字段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文