其他分享
首页 > 其他分享> > 递归关系以及与Django中未定义模型的关系有什么用?

递归关系以及与Django中未定义模型的关系有什么用?

作者:互联网

以下文字来自Django文档,该文档提供了

To create a recursive
relationship – an object that has a many-to-one relationship with itself – use models.ForeignKey(’self’).
If you need to create a relationship on a model that has not yet been defined, you can use the name of the model,
rather than the model object itself.

有人可以给我一个在Django中使用这些功能的示例吗?
谢谢

解决方法:

您可以使用它来创建指向该模型其他对象的链接.

例如,如果您在一个网站中有很多成员,每个成员都有一个邀请者(也是成员类型),则可以执行以下操作:

class Member(Model):
    inviter = models.ForeignKey(
        'self',
        related_name="invited_set"
    )

如果需要邀请者,请执行以下操作:

Member.objects.get(id__exact=5).inviter

如果要此成员邀请的所有成员,请使用:

Member.objects.get(id__exact=5).invited_set

标签:relational-database,python,django,database
来源: https://codeday.me/bug/20191102/1988490.html