Добавьте запрос многих полей в метод 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)