指定模型关系为字符串还是具体模型?

时间:2019-04-07 04:39:19

标签: python django django-models django-orm

由于Django提供了两种指定模型关系的方式,

models.ForeignKey('User') vs models.ForeignKey(User)

哪个更受推荐?选择其中一个有任何好处或缺点?在Django文档中,所有示例都是第二种形式,但是我看到很多人将这种关系指定为字符串。

1 个答案:

答案 0 :(得分:0)

两个都很好。根据情况使用。

Cannot find type definition file for 'node'.

在上面的示例中,用户模型在应用程序模型下定义。因此,直接引用class Application(models.Model): user = models.ForeignKey('User') ... class User(models.Model): ... 无效。

User

这两种符号都可以使用。