在 Django 中构建具有深度依赖关系的数据库的正确方法是什么?

What is right way to build database with deep dependencies in Django?

例如我有这样的东西:User->Company->Worker->SomeStuff->SomeDeeperStuff 直路看起来像:

class Company(models.Model):
    user = models.ForeignKey(User)
class Worker(models.Model):
    company = models.ForeignKey(Company)

等等...这对我来说似乎是正确的方式。 但有时我想创建一个快捷方式并将 ForeignKey(User) 添加到所有其他模型(Worker,SomeStuff ...)。 那么正确的方法是什么?禅道?如果我的直接方式是最好的,那么为用户过滤内容的最佳方式是什么?

Denormalization 不是正确的方法,但如果您遇到性能问题,可以使用。您是否有大量数据并且加入查询很慢?

获取用户数据的最佳方式是标准连接:

SomeDeeperStuff.objects.filter(somestuff__worker__company__user=user)