gpt4 book ai didi

mysql - M2M 关系还是 2 个 FK?

转载 作者:行者123 更新时间:2023-11-29 08:52:45 25 4
gpt4 key购买 nike

以下哪种结构更可取:

# M2M
class UserProfile(models.Model):
...
groups = models.ManyToManyField(Group)

class Group(models.Model):
...

或-

# 2 FKs
class UserProfile(models.Model):
...

class Group(models.Models):
...

class GroupMember(models.Model):
user = models.ForeignKey(UserProfile)
group = models.ForeignKey(Group)

哪个更好?

最佳答案

您还可以使用 through 组合这 2 个变体选项

groups = models.ManyToManyField(Group, through='GroupMember')

更好是什么意思?通常您不需要创建中间模型(除非您必须存储 extra data )。

ManyToManyField 完美地完成了他的工作,所以不要自己编写它的功能。

关于mysql - M2M 关系还是 2 个 FK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10749355/

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