Как избежать дублирования записей при использовании функции annotate() в наборе queryset
Я получаю этот набор запросов для некоторого метода и получаю одну запись
candidates_qs = self.filter_job_type_language_zones(job_type_id, filter_languages, filter_zones)
Затем мне нужно привести поле charfield к полю integerfield для сравнения с некоторым значением
candidates_qs = self.filter_job_type_language_zones(job_type_id, filter_languages, filter_zones)
candidates_qs = candidates_qs.annotate(
# cast answer_text as integer to compare with question value
as_integer=Cast('candidatejobtype__questions_answers__answer_text', IntegerField()))
После этого в моем наборе queryset появились дубликаты записей. Я пробовал distinct(), но это не помогло. Как избежать дублирования записей?
А как насчет связи между моделями? В вашей аннотации есть поиск, поэтому я предполагаю, что он может создавать дубликаты.
В queryset есть только один объект, но он связан со многими questions_answers и каждый имеет свой answer_text.
Я думаю, что некоторые определения моделей здесь были бы полезны.