gpt4 book ai didi

Django 模型引用像循环?

转载 作者:行者123 更新时间:2023-11-29 13:54:34 26 4
gpt4 key购买 nike

我想知道如何像循环引用一样建立 django 模型...比如,

class Family(models.Model): 
fname = models.CharField(max_length=30,unique=True)
member_id = models.ForeignKey(Member)

class Member(models.Model):
name = model.CharField(max_length=30,unique=True)
family_id = models.ForeignKey(Family)

这两个Family 和Member 是我的模型。我想要一些循环引用...

主要目标是绑定(bind)每个家庭下的成员。那很好用。但有些查询我只解析家庭表,我想要那个特定家庭的主要成员,比如,我想要每个家庭的家长,这意味着我该怎么办?

解释循环引用或比这更好的可用方法。或者我应该为两者做外键。请帮助获得解决方案。

最佳答案

这不是正确的方法,您不应该在模型中使用循环引用。如果你想有这样的关系,取决于要求:

  1. 如果一个人只能有一个家庭,将家庭作为外键放在Member模型中。

  2. 如果一个人可以有多个家庭,将member作为Family模型中的ManyToMany字段。

    <

此外,不要将您的字段命名为 member_idfamily_id。 Django模型不仅仅是数据库设计,还有python类代码。尝试改用 memberfamily

温馨建议:请不要在代码块标签中放置任何关于您的问题的描述。也尽量让你的措辞尽可能正式(cap first)。

编辑:

如果你想获取一个家庭成员的详细信息,在django中也很容易:

# model
class Family(models.Model):
fname = models.CharField(max_length=30,unique=True)

class Member(models.Model):
name = model.CharField(max_length=30,unique=True)
family = models.ForeignKey(Family)

# get a family
family = Family.objects.get(id=1)
# get all family members
all_family_members = family.member_set.all()

Django doc关于向后跟踪关系。

关于Django 模型引用像循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34819575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com