首页 > 解决方案 > 模型和自定义查询集之间的 Django 循环导入依赖关系

问题描述

我正在使用一些复杂的原始查询集,并将模型和模型自定义查询集分隔在 2 个单独的文件中。

在模型中,我需要导入自定义查询集:

objects = OwnerModelQuerySet.as_manager()

对于我使用的自定义查询集类的每个方法:

 Owner.objects.raw(

所以我需要导入模型。所以我有一个循环依赖问题。自定义查询集中有什么方法可以在不直接使用名称的情况下访问/获取模型?

标签: djangodjango-models

解决方案


您不需要将模型导入查询集文件。在您的查询集方法中,您可以通过self.model.

但无论如何,如果查询集作为管理者附加到所有者,Owner.objects 就是ownerModelQueryset,所以你可以完全self.raw不需要引用模型。


推荐阅读