我相信最好用一个例子来解释。因此,我正在为国际和国内比赛制定一项节省举重结果的计划。下面是一个(重量)升降机型号:
class Lifter(Person):
# Changed from dateTime, as we don't need time of birth
birth_date = models.DateField(null=True)
gender = models.CharField(max_length=10, choices=Gender.choices(),
null=True)
club = models.ForeignKey('Club', null=True)
我想将升降机模型连接到InterntionalResult模型:
class InternationalResult(models.Model):
lifter = models.ForeignKey(Lifter, null=True)
body_weight = models.FloatField(verbose_name='Kroppsvekt', null=True)
# International group can be (for example) "A" or "B"
group = models.CharField(max_length=5, verbose_name='kategori')
snatch = models.IntegerField()
clean_and_jerk = models.IntegerField()
total = models.IntegerField()
但是,提升者有一个ForeginKey要分组(club = models.ForeignKey(' Club',null = True))。当我将Lifter连接到InternationalResult时,我想排除这个ForgeinKey,但仍然将Result连接到Lifter的其余部分。这是因为国际比赛没有以同样的方式举办俱乐部。
有没有办法做到这一点,还是我应该创建一个新的InternationalLifter模型?
感谢您的时间!
答案 0 :(得分:0)
你想用它做什么?这是否会显示在模板中?最简单的方法是排除"一个字段只是不渲染它,或者一般不使用它。不要担心性能,只有在评估外键关系时才能获取外键关系。