Skip to content
Snippets Groups Projects
Verified Commit 6cafe501 authored by Erwan Rouchet's avatar Erwan Rouchet
Browse files

Restore set_elements on create responses

parent 8727e94b
No related branches found
No related tags found
1 merge request!2256New DatasetSet model
...@@ -15,6 +15,7 @@ from arkindex.documents.serializers.elements import ElementListSerializer ...@@ -15,6 +15,7 @@ from arkindex.documents.serializers.elements import ElementListSerializer
from arkindex.ponos.models import Task from arkindex.ponos.models import Task
from arkindex.process.models import Worker from arkindex.process.models import Worker
from arkindex.project.serializer_fields import ArchivedField, DatasetSetsCountField, EnumField from arkindex.project.serializer_fields import ArchivedField, DatasetSetsCountField, EnumField
from arkindex.project.tools import add_as_prefetch
from arkindex.training.models import ( from arkindex.training.models import (
Dataset, Dataset,
DatasetElement, DatasetElement,
...@@ -591,14 +592,19 @@ class DatasetSerializer(serializers.ModelSerializer): ...@@ -591,14 +592,19 @@ class DatasetSerializer(serializers.ModelSerializer):
@transaction.atomic @transaction.atomic
def create(self, validated_data): def create(self, validated_data):
sets = validated_data.pop("set_names") set_names = validated_data.pop("set_names")
dataset = Dataset.objects.create(**validated_data) dataset = Dataset.objects.create(**validated_data)
DatasetSet.objects.bulk_create( sets = DatasetSet.objects.bulk_create(
DatasetSet( DatasetSet(
name=set_name, name=set_name,
dataset_id=dataset.id dataset_id=dataset.id
) for set_name in sets ) for set_name in set_names
) )
# We will output set element counts in the API, but we know there are zero,
# so no need to make another query to prefetch the sets and count them
for set in sets:
set.element_count = 0
add_as_prefetch(dataset.sets, sets)
return dataset return dataset
class Meta: class Meta:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment