Добавьте запрос многих полей в метод cet_or_create

def create(self, validated_data):
        employer = User.objects.get(id=self.context.get('employer'))
        candidate = User.objects.get(id=self.context.get('candidate_id'))
        report_details_id = ReportDetails.objects.filter(
            id__in=self.context.get('report_details_id'))
        (report_candidate, created) = ReportCandidate.objects.get_or_create(
            reported_by=employer.id, candidate_id=candidate.id,report_details_id=report_details_id)
        return report_candidate

Здесь report_details_id является запросом manytomanyfield. Как будет применяться каждый из данных в нем в методе get_or_create?

The QuerySet value for an exact lookup must be limited to one result using slicing.

Я получаю эту ошибку из приведенного выше кода. Заранее спасибо.

report_details_id содержат список объектов, поэтому вы получаете вышеуказанную ошибку. Для устранения проблемы вам просто нужно использовать оператор in.

Нравится :-

   reported_by=employer.id, candidate_id=candidate.id,report_details_id__in=report_details_id)
Вернуться на верх