文本是从Django文档,其提供在Django中,递归关系和未定义模型的关系有什么用?下面
要创建一个递归 关系 - 其具有与自身多到一的关系的对象 - 使用models.ForeignKey(”自我”)。 如果您需要在尚未定义的模型上创建关系,则可以使用模型的名称 而不是模型对象本身。
有人可以给我一个在Django中使用这些功能的例子吗? 谢谢
文本是从Django文档,其提供在Django中,递归关系和未定义模型的关系有什么用?下面
要创建一个递归 关系 - 其具有与自身多到一的关系的对象 - 使用models.ForeignKey(”自我”)。 如果您需要在尚未定义的模型上创建关系,则可以使用模型的名称 而不是模型对象本身。
有人可以给我一个在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
对于型号尚未德被罚款:
class Gallery(models.Model):
title_image = models.ForeignKey('Image')
class Image(models.Model):
part_of = models.ForeignKey(Gallery)
由于这些类彼此相互引用,至少其中一个需要引用尚未定义的类。