Django Model ForeignKey 2

时间:2010-08-24 11:54:22

标签: django django-models

我不明白我怎么能“导入”(我不知道正确的术语,所以请不要把我钉在十字架上)从一个模型类到另一个模型类的外键:

e.g。

class1 (models.Model):
    variable1 = models.CharField()
    variable2 = models.CharField()

class2 (models.Model):
    variable3 = models.CharField()
    variable4 = class1.variable1 "imported" from class1

所以现在我在class2中可以获得class1中variable1的所有数据。

我认为这可以通过ForeignKey完成。

如果我以官方Django文档为例(见下文),我得不到答案,因为:

  1. 为什么它只提到其他模型,而不是我创建的变量。

  2. 这将是一个未来的模型,我还不知道这些领域。但我已经知道了这些领域。再也没有变量,只有模型。

  3. 这就是我要找的东西。但这是从另一个应用程序“导入”。但对我而言,它在同一个应用程序中。

  4. ad 1。

    class ForeignKey(othermodel[, **options])¶
    

    ad 2.

    class Car(models.Model):
        manufacturer = models.ForeignKey('Manufacturer')
        # ...
    
    class Manufacturer(models.Model):
        # ...
    

    ad 3.

    class Car(models.Model):
        manufacturer = models.ForeignKey('production.Manufacturer')
    

    谢谢!

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题。

您正在使用外键建立与整个模型的关系,而不只是一个字段,因此您可以访问所有字段,即使您只需要一个字段。

variable4 = models.ForeignKey(class1)

现在你可以在查询集中说变量4.variable1或variable4__variable2。

重点2 - 如果class1尚未定义,则使用variable4 = models.ForeignKey('class1') 重点3 - 如果当前应用程序中的模型,则无需添加应用程序。