@@ -115,15 +115,6 @@ class BuildSerializer(FlexFieldsModelSerializer):
115
115
state = BuildStateSerializer (source = '*' )
116
116
_links = BuildLinksSerializer (source = '*' )
117
117
118
- expandable_fields = dict (
119
- config = (
120
- BuildConfigSerializer ,
121
- dict (
122
- source = 'config' ,
123
- ),
124
- ),
125
- )
126
-
127
118
class Meta :
128
119
model = Build
129
120
fields = [
@@ -140,6 +131,10 @@ class Meta:
140
131
'_links' ,
141
132
]
142
133
134
+ expandable_fields = {
135
+ 'config' : (BuildConfigSerializer , {'source' : 'config' })
136
+ }
137
+
143
138
def get_finished (self , obj ):
144
139
if obj .date and obj .length :
145
140
return obj .date + datetime .timedelta (seconds = obj .length )
@@ -215,15 +210,6 @@ class VersionSerializer(FlexFieldsModelSerializer):
215
210
urls = VersionURLsSerializer (source = '*' )
216
211
_links = VersionLinksSerializer (source = '*' )
217
212
218
- expandable_fields = dict (
219
- last_build = (
220
- BuildSerializer ,
221
- dict (
222
- source = 'last_build' ,
223
- ),
224
- ),
225
- )
226
-
227
213
class Meta :
228
214
model = Version
229
215
fields = [
@@ -241,6 +227,12 @@ class Meta:
241
227
'_links' ,
242
228
]
243
229
230
+ expandable_fields = {
231
+ 'last_build' : (
232
+ BuildSerializer , {'source' : 'last_build' }
233
+ )
234
+ }
235
+
244
236
def get_downloads (self , obj ):
245
237
downloads = obj .get_downloads ()
246
238
data = {}
@@ -448,18 +440,6 @@ class ProjectSerializer(FlexFieldsModelSerializer):
448
440
created = serializers .DateTimeField (source = 'pub_date' )
449
441
modified = serializers .DateTimeField (source = 'modified_date' )
450
442
451
- expandable_fields = dict (
452
- active_versions = (
453
- VersionSerializer ,
454
- dict (
455
- # NOTE: this has to be a Model method, can't be a
456
- # ``SerializerMethodField`` as far as I know
457
- source = 'active_versions' ,
458
- many = True ,
459
- ),
460
- ),
461
- )
462
-
463
443
class Meta :
464
444
model = Project
465
445
fields = [
@@ -489,6 +469,18 @@ class Meta:
489
469
'_links' ,
490
470
]
491
471
472
+ expandable_fields = {
473
+ 'active_versions' : (
474
+ VersionSerializer ,
475
+ {
476
+ # NOTE: this has to be a Model method, can't be a
477
+ # ``SerializerMethodField`` as far as I know
478
+ 'source' : 'active_versions' ,
479
+ 'many' : True ,
480
+ }
481
+ )
482
+ }
483
+
492
484
def get_homepage (self , obj ):
493
485
# Overridden only to return ``None`` when the project_url is ``''``
494
486
return obj .project_url or None
0 commit comments