используется в некоторых местах как базовый (вытаскиваются какие-то штуки, а другие запросы уже дальше из него строят кверисет). В теории, надо бы вынести его в менеджер, но я сталкиваюсь с следующей проблемой.
Все запросы я храню в файле services.py, поэтому, чтобы мне сделать запросы к модели Some мне нужно заимпортить эту модель и описать что мне нужно.
Теперь я хочу вставить свой запрос в менеджер модели или сделать из него сабкласс QuerySet и тут я сталкиваюсь с циклическим импортом:
1. Чтобы описать менеджер в services, мне нужно заимпортить модель из models.
2. Чтобы вставить менеджер, мне надо заимпортить его из services в models.
Как поступить? Описывать запросы в models.py я категорически не хочу.
На данный момент я сейчас сделал следующее - сделал у своего запроса необязательный параметр queryset и таскаю его по нужным мне штукам и аппликухам. Всё же такое решение мне кажется более менее оправданным, но хочется услышать мнение других разработчиков.
Актуально, буду рад если кто-то ответит
Можно импорт сделать внутри метода
Ну для того и разрабатывается архитектура приложений. Менеджеры живут в модельках - это просто и понятно. А также описано в документации. Ибо это есть фреймворк и мы не всё вольны тут менять, а должны следовать некоторым соглашениям. Однако - тебе зачем импортировать модель в services именно для создания менеджера? Если ты его кастомизируешь, то тебе нужен только базовый мененджер! Тебе приходится импортировать модельку в services для того чтобы кверисеты по ней строить - тут вот и кроется проблема.
Спасибо за ответ :) Немного не понял, а в чем проблема импорта модельки в services?
я, к сожалению, кода не вижу, но именно в импорте модельки для конкретной цели мне видится проблема. Еси код покажешь, можем обсудить
Да, покажу. А что именно показать - сервисы и модельку?
Обсуждают сегодня