gpt4 book ai didi

python - Django 中 OneToMany 或 ManyToOne 的任何替代方案

转载 作者:太空宇宙 更新时间:2023-11-03 14:57:12 24 4
gpt4 key购买 nike

我在 Django 中有一个NOTIFICATION 和一个USER 应用程序。代码是这样的:

class Notification(models.Model):
user = models.ForeignKey(User , related_name = "notification"
....
....

class User(models.Model):
notifications = models.OneToManyField(Notification , related_name = "user"
....
....

现在我知道 models.OneToManyField 在 Django 中不存在。我知道我可以简单地从模型的通知实例访问用户。但我想这会以某种方式减慢我的系统,因为在生产中我会保留通知模型的所有实例。例如:一旦系统投入生产很长一段时间后,我预计每个用户会收到大约 500 多个通知。

我想,直接访问一个用户的所有通知比筛选整个通知表来查找特定用户的通知要容易得多。
我读过 this和一定程度上的文档,我无法找到解决我的问题的方法。

我也不确定处理器从整个通知表中获取所有通知的处理约束。我只是假设它会慢一些。

最佳答案

OneToManyField 在 Django 中不存在,因为它只是一个 ForeignKey 的反向关系。所以这里的User模型上不需要notifications字段,直接去掉即可。

不要过早地担心通知过滤的性能。查询关系是 SQL 的设计目的,而这正是关系数据库擅长做的事情。

关于python - Django 中 OneToMany 或 ManyToOne 的任何替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41602162/

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