有没有办法只引用Django ForeignKey中的某些字段?

时间:2017-10-24 13:27:13

标签: django database model foreign-keys

我相信最好用一个例子来解释。因此,我正在为国际和国内比赛制定一项节省举重结果的计划。下面是一个(重量)升降机型号:

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模型?

感谢您的时间!

1 个答案:

答案 0 :(得分:0)

你想用它做什么?这是否会显示在模板中?最简单的方法是排除"一个字段只是不渲染它,或者一般不使用它。不要担心性能,只有在评估外键关系时才能获取外键关系。