Зависимость циклического импорта Django между моделью и пользовательскими наборами запросов

#django #django-models

#django #django-модели

Вопрос:

Я использую некоторые сложные необработанные наборы запросов, и я разделил модель и пользовательский набор запросов модели на 2 отдельных файла.

В модели мне нужно импортировать пользовательский набор запросов:

 objects = OwnerModelQuerySet.as_manager()
  

Для каждого метода пользовательского класса queryset я использую:

  Owner.objects.raw(
  

итак, мне нужно импортировать модель. Итак, у меня проблемы с круговой зависимостью.
Есть ли какой-либо способ в пользовательском наборе запросов получить доступ к модели без прямого использования имени?

Ответ №1:

Вам не нужно будет импортировать модель в файл queryset. В ваших методах набора запросов вы можете получить доступ к модели через self.model .

Но в любом случае, если набор запросов привязан к Owner в качестве менеджера, он Owner.objects является ownerModelQueryset , так что вы можете обойтись self.raw без необходимости ссылаться на модель вообще.