我想在自定义模型查询集中使用原始查询集。
问题是我需要在声明模型类之前使用/声明基于查询集的模型。
我可以声明模型的替代品,它将在执行时被解释吗?
所以,代码是这样的:
class EntityModelQuerySet(models.query.QuerySet):
def search_by_item(self, id__list):
qs = Entity.objects.raw(
.............
class Entity
使用prefetch_related
的第二个模型怎么样?qs = Entity.objects.raw( .. queryset = .prefetch_related(
Prefetch('item',
queryset=EntityItem.objects.all().only(name)
答案 0 :(得分:1)
只需使用self.raw(...)
代替Entity.objects.raw()
class EntityModelQuerySet(models.QuerySet): # use models.QuerySet
def search_by_item(self, id__list):
qs = self.raw(...)
return qs
class Entity(models.Model):
objects = EntityModelQuerySet.as_manager()