mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
fix: 问题批量插入去重
This commit is contained in:
parent
06e03f7cd6
commit
b5452e3764
|
|
@ -60,13 +60,14 @@ class ProblemSerializers(ApiMixin, serializers.Serializer):
|
|||
if with_valid:
|
||||
self.is_valid(raise_exception=True)
|
||||
problem_list = self.data.get('problem_list')
|
||||
problem_list = list(set(problem_list))
|
||||
dataset_id = self.data.get('dataset_id')
|
||||
exists_problem_content_list = [problem.content for problem in
|
||||
QuerySet(Problem).filter(dataset_id=dataset_id,
|
||||
content__in=problem_list)]
|
||||
problem_instance_list = [Problem(id=uuid.uuid1(), dataset_id=dataset_id, content=problem_content) for
|
||||
problem_content in
|
||||
self.data.get('problem_list') if
|
||||
problem_list if
|
||||
(not exists_problem_content_list.__contains__(problem_content) if
|
||||
len(exists_problem_content_list) > 0 else True)]
|
||||
|
||||
|
|
@ -122,7 +123,7 @@ class ProblemSerializers(ApiMixin, serializers.Serializer):
|
|||
self.is_valid(raise_exception=True)
|
||||
problem_paragraph_mapping = QuerySet(ProblemParagraphMapping).filter(dataset_id=self.data.get("dataset_id"),
|
||||
problem_id=self.data.get("problem_id"))
|
||||
if problem_paragraph_mapping is None or len(problem_paragraph_mapping)==0:
|
||||
if problem_paragraph_mapping is None or len(problem_paragraph_mapping) == 0:
|
||||
return []
|
||||
return native_search(
|
||||
QuerySet(Paragraph).filter(id__in=[row.paragraph_id for row in problem_paragraph_mapping]),
|
||||
|
|
|
|||
Loading…
Reference in New Issue