模型和自定义查询集之间的 Django 循环导入依赖

use*_*631 0 django django-models

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

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

objects = OwnerModelQuerySet.as_manager()
Run Code Online (Sandbox Code Playgroud)

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

 Owner.objects.raw(
Run Code Online (Sandbox Code Playgroud)

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

Dan*_*man 6

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

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