2
2
3
3
from django_elasticsearch_dsl import Document , Index , KeywordField , fields
4
4
5
- from api .models import Dataset , DatasetMetadata , Metadata , Resource , Sector
5
+ from api .models import (
6
+ Dataset ,
7
+ DatasetMetadata ,
8
+ Metadata ,
9
+ Organization ,
10
+ Resource ,
11
+ Sector ,
12
+ )
6
13
from api .utils .enums import DatasetStatus
14
+ from authorization .models import User
7
15
from DataSpace import settings
8
16
from search .documents .analysers import html_strip , ngram_analyser
9
17
@@ -164,7 +172,10 @@ def get_queryset(self) -> Any:
164
172
)
165
173
166
174
def get_instances_from_related (
167
- self , related_instance : Union [Resource , Metadata , DatasetMetadata , Sector ]
175
+ self ,
176
+ related_instance : Union [
177
+ Resource , Metadata , DatasetMetadata , Sector , Organization , User
178
+ ],
168
179
) -> Optional [Union [Dataset , List [Dataset ]]]:
169
180
"""Get Dataset instances from related models."""
170
181
if isinstance (related_instance , Resource ):
@@ -176,6 +187,10 @@ def get_instances_from_related(
176
187
return related_instance .dataset
177
188
elif isinstance (related_instance , Sector ):
178
189
return list (related_instance .datasets .all ())
190
+ elif isinstance (related_instance , Organization ):
191
+ return list (related_instance .datasets .all ())
192
+ elif isinstance (related_instance , User ):
193
+ return list (related_instance .datasets .all ())
179
194
return None
180
195
181
196
class Django :
@@ -189,4 +204,11 @@ class Django:
189
204
"modified" ,
190
205
]
191
206
192
- related_models = [Resource , Metadata , DatasetMetadata , Sector ]
207
+ related_models = [
208
+ Resource ,
209
+ Metadata ,
210
+ DatasetMetadata ,
211
+ Sector ,
212
+ Organization ,
213
+ User ,
214
+ ]
0 commit comments