在cet_or_create方法中添加manytomany字段查询
Add manytomany field query in cet_or_create method
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 是一个多对多字段查询。如何在 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)
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 是一个多对多字段查询。如何在 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)