Django:嵌套多列联接

时间:2018-11-19 00:14:37

标签: django django-models

有一种方法可以使用RelatedObject在Django中定义多列关系。 但是,如果源列之一不是本地列,则无法定义多列关系。在我的特殊情况下,它是另一个表(另一个联接)中的相关字段,但我可以想象它可以是任何表达式。

示例:

class A(models.Model):
    a_value = models.IntegerField()

class B()
    key1 = models.IntegerField()
    key2 = models.IntegerField()
    b_value = models.IntegerField()

    class Meta:
        unique_together = (('key1', 'key2'),)

class C()
    a = models.ForeignKey(A)
    c_value = models.IntegerField()
    b = models.RelatedObject(
        B,
        from_fields=('a__a_value', 'c_value'),  # <<< note the __
        to_fields=('key1', 'key2'),
    )

0 个答案:

没有答案