这个问题在这里已有答案:
由于Django提供了两种指定模型关系的方法,
models.ForeignKey('User') vs models.ForeignKey(User)
哪一个更受欢迎并推荐?选择其中一个是否有任何好处或缺点?在Django文档中,所有示例都是第二种形式,但我看到很多人将关系指定为字符串。
两者都很好。根据情况使用它。
class Application(models.Model):
user = models.ForeignKey('User')
...
class User(models.Model):
...
在上面的示例中,用户模型定义在应用程序模型下方。所以直接提到User
是行不通的。
class User(models.Model):
...
class Application(models.Model):
user = models.ForeignKey(User)
...
这两个符号都可以使用。