Я знаю, что raw-запросы Django требуют наличия поля
id
(primary key). И раньше прекрасно срабатывало присваивание
id
через
AS
. Но почему-то это перестало работать в текущем проекте:
q_filial = TbPeople.objects.raw("SELECT DISTINCT szFilial AS id "
"FROM web_tbpeople ORDER BY szFilial;")
Выбрасывает по
FieldDoesNotExist
(Raw query must include the primary key)... :((
Если написать через ORM, например что-то типа:
q_filial = TbPeople.objects.distinct('szFilial').values_list('szFilial', flat=True)
То вываливается по
NotSupportedError
(DISTINCT ON fields is not supported by this database backend). На самом деле, база все поддерживает, это бэкенд перестал. А без
distinct('szFilial')
, само собой, запрос на работает (точнее выдает все значения, а не уникальные... и с
distinct()
тоже. Как побеждать?
Django -- 4.1.4
MariaDB -- 10.5.10
Python -- 3.8.10