Skip to content
Snippets Groups Projects
Commit 9fc815d1 authored by ml bonhomme's avatar ml bonhomme :bee:
Browse files

fix api schema

parent 2217829b
No related branches found
No related tags found
1 merge request!2256New DatasetSet model
......@@ -284,9 +284,10 @@ class DatasetSetsCountField(serializers.DictField):
def get_attribute(self, instance):
if not self.context.get("sets_count", True):
return None
elts_count = {k.name: 0 for k in instance.sets.all()}
dataset_sets = instance.sets.all()
elts_count = {k.name: 0 for k in dataset_sets}
elts_count.update(
DatasetElement.objects.filter(set_id__in=instance.sets.values_list("id"))
DatasetElement.objects.filter(set_id__in=[ds.id for ds in dataset_sets])
.values("set__name")
.annotate(count=Count("id"))
.values_list("set__name", "count")
......
......@@ -727,6 +727,9 @@ class SelectionDatasetElementSerializer(serializers.Serializer):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# for openAPI schema generation
if "request" not in self.context:
return
self.fields["set_id"].queryset = DatasetSet.objects.filter(
dataset__corpus_id__in=Corpus.objects.readable(self.context["request"].user)
).select_related("dataset")
......
......@@ -1166,7 +1166,6 @@ class TestDatasetsAPI(FixtureAPITestCase):
self.assertDictEqual(data, {"count": 1, "next": None, "previous": None})
self.assertEqual(len(results), 1)
dataset_element = results[0]
print(dataset_element)
self.assertEqual(dataset_element["element"]["id"], str(self.page2.id))
self.assertEqual(dataset_element["set"], "training")
......@@ -2152,7 +2151,7 @@ class TestDatasetsAPI(FixtureAPITestCase):
def test_clone_name_too_long(self):
dataset = self.corpus.datasets.create(name="A" * 99, creator=self.user)
self.client.force_login(self.user)
with self.assertNumQueries(14):
with self.assertNumQueries(13):
response = self.client.post(
reverse("api:dataset-clone", kwargs={"pk": dataset.id}),
format="json",
......
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