为了举例说明,我有这样的东西: User->Company->Worker->SomeStuff->SomeDeeperStuff笔直的样子:
class Company(models.Model):
user = models.ForeignKey(User)
class Worker(models.Model):
company = models.ForeignKey(Company)等等..。这看起来对我来说是正确的。但有时我想要创建一个快捷方式,并将ForeignKey(用户)添加到所有其他模型(Worker,SomeStuff.)中。那么正确的方法是什么呢?禅宗之路?如果我的直路是最好的,什么是最好的方式过滤内容的用户?
发布于 2015-01-14 08:28:30
去正规化不是正确的方法,但是如果您有性能问题,可以使用它。您有大量的数据并且连接查询速度慢吗?
获取用户数据的最佳方法是标准连接:
SomeDeeperStuff.objects.filter(somestuff__worker__company__user=user)https://stackoverflow.com/questions/27937959
复制相似问题