Skip to content

Commit a4ed4b8

Browse files
moved to meta class
1 parent 6402c26 commit a4ed4b8

File tree

1 file changed

+21
-18
lines changed

1 file changed

+21
-18
lines changed

readthedocs/api/v3/serializers.py

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,6 @@ class BuildSerializer(FlexFieldsModelSerializer):
115115
state = BuildStateSerializer(source='*')
116116
_links = BuildLinksSerializer(source='*')
117117

118-
expandable_fields = {
119-
'config': (BuildConfigSerializer, {'source': 'config'})
120-
}
121118

122119
class Meta:
123120
model = Build
@@ -135,6 +132,10 @@ class Meta:
135132
'_links',
136133
]
137134

135+
expandable_fields = {
136+
'config': (BuildConfigSerializer, {'source': 'config'})
137+
}
138+
138139
def get_finished(self, obj):
139140
if obj.date and obj.length:
140141
return obj.date + datetime.timedelta(seconds=obj.length)
@@ -210,10 +211,6 @@ class VersionSerializer(FlexFieldsModelSerializer):
210211
urls = VersionURLsSerializer(source='*')
211212
_links = VersionLinksSerializer(source='*')
212213

213-
expandable_fields = {
214-
'last_build': (BuildSerializer, {'source': 'last_build'})
215-
}
216-
217214
class Meta:
218215
model = Version
219216
fields = [
@@ -231,6 +228,12 @@ class Meta:
231228
'_links',
232229
]
233230

231+
expandable_fields = {
232+
'last_build': (
233+
BuildSerializer, {'source': 'last_build'}
234+
)
235+
}
236+
234237
def get_downloads(self, obj):
235238
downloads = obj.get_downloads()
236239
data = {}
@@ -438,17 +441,6 @@ class ProjectSerializer(FlexFieldsModelSerializer):
438441
created = serializers.DateTimeField(source='pub_date')
439442
modified = serializers.DateTimeField(source='modified_date')
440443

441-
expandable_fields = {
442-
'active_versions': (
443-
VersionSerializer,
444-
{
445-
# NOTE: this has to be a Model method, can't be a
446-
# ``SerializerMethodField`` as far as I know
447-
'source': 'active_versions',
448-
'many': True,
449-
}
450-
)
451-
}
452444

453445
class Meta:
454446
model = Project
@@ -479,6 +471,17 @@ class Meta:
479471
'_links',
480472
]
481473

474+
expandable_fields = {
475+
'active_versions': (VersionSerializer,
476+
{
477+
# NOTE: this has to be a Model method, can't be a
478+
# ``SerializerMethodField`` as far as I know
479+
'source': 'active_versions',
480+
'many': True,
481+
}
482+
)
483+
}
484+
482485
def get_homepage(self, obj):
483486
# Overridden only to return ``None`` when the project_url is ``''``
484487
return obj.project_url or None

0 commit comments

Comments
 (0)