Skip to content

Commit 7270d5f

Browse files
committed
Added the option to order API resource lists by primary key, for stable ordering when paging through a list.
- Legacy-Id: 16284
1 parent b8e92d3 commit 7270d5f

17 files changed

Lines changed: 138 additions & 5 deletions

File tree

ietf/community/resources.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Copyright The IETF Trust 2014-2019, All Rights Reserved
12
# Autogenerated by the mkresources management command 2014-11-13 23:53
23
from ietf.api import ModelResource
34
from tastypie.fields import ToOneField, ToManyField
@@ -21,6 +22,7 @@ class Meta:
2122
queryset = CommunityList.objects.all()
2223
serializer = api.Serializer()
2324
#resource_name = 'communitylist'
25+
ordering = ['id', ]
2426
filtering = {
2527
"id": ALL,
2628
"secret": ALL,
@@ -38,6 +40,7 @@ class Meta:
3840
queryset = SearchRule.objects.all()
3941
serializer = api.Serializer()
4042
#resource_name = 'rule'
43+
ordering = ['id', ]
4144
filtering = {
4245
"id": ALL,
4346
"rule_type": ALL,
@@ -52,6 +55,7 @@ class Meta:
5255
queryset = EmailSubscription.objects.all()
5356
serializer = api.Serializer()
5457
#resource_name = 'emailsubscription'
58+
ordering = ['id', ]
5559
filtering = {
5660
"id": ALL,
5761
"email": ALL_WITH_RELATIONS,

ietf/dbtemplate/resources.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Copyright The IETF Trust 2014-2019, All Rights Reserved
12
# Autogenerated by the mkresources management command 2014-11-13 23:53
23
from ietf.api import ModelResource
34
from tastypie.fields import ToOneField
@@ -19,6 +20,7 @@ class Meta:
1920
queryset = DBTemplate.objects.all()
2021
serializer = api.Serializer()
2122
#resource_name = 'dbtemplate'
23+
ordering = ['id', ]
2224
filtering = {
2325
"id": ALL,
2426
"path": ALL,

ietf/doc/resources.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class Meta:
2525
queryset = BallotType.objects.all()
2626
serializer = api.Serializer()
2727
#resource_name = 'ballottype'
28+
ordering = ['id', ]
2829
filtering = {
2930
"id": ALL,
3031
"slug": ALL,
@@ -47,6 +48,7 @@ class Meta:
4748
queryset = DeletedEvent.objects.all()
4849
serializer = api.Serializer()
4950
#resource_name = 'deletedevent'
51+
ordering = ['id', ]
5052
filtering = {
5153
"id": ALL,
5254
"json": ALL,
@@ -62,6 +64,7 @@ class Meta:
6264
queryset = StateType.objects.all()
6365
serializer = api.Serializer()
6466
#resource_name = 'statetype'
67+
ordering = ['id', ]
6568
filtering = {
6669
"slug": ALL,
6770
"label": ALL,
@@ -76,6 +79,7 @@ class Meta:
7679
queryset = State.objects.all()
7780
serializer = api.Serializer()
7881
#resource_name = 'state'
82+
ordering = ['id', ]
7983
filtering = {
8084
"id": ALL,
8185
"slug": ALL,
@@ -109,6 +113,7 @@ class Meta:
109113
serializer = api.Serializer()
110114
detail_uri_name = 'name'
111115
#resource_name = 'document'
116+
ordering = ['id', ]
112117
filtering = {
113118
"time": ALL,
114119
"title": ALL,
@@ -145,6 +150,7 @@ class Meta:
145150
queryset = DocumentAuthor.objects.all()
146151
serializer = api.Serializer()
147152
#resource_name = 'documentauthor'
153+
ordering = ['id', ]
148154
filtering = {
149155
"id": ALL,
150156
"affiliation": ALL,
@@ -165,6 +171,7 @@ class Meta:
165171
queryset = DocEvent.objects.all()
166172
serializer = api.Serializer()
167173
#resource_name = 'docevent'
174+
ordering = ['id', ]
168175
filtering = {
169176
"id": ALL,
170177
"time": ALL,
@@ -188,6 +195,7 @@ class Meta:
188195
queryset = StateDocEvent.objects.all()
189196
serializer = api.Serializer()
190197
#resource_name = 'statedocevent'
198+
ordering = ['id', ]
191199
filtering = {
192200
"id": ALL,
193201
"time": ALL,
@@ -221,6 +229,7 @@ class Meta:
221229
queryset = DocHistory.objects.all()
222230
serializer = api.Serializer()
223231
#resource_name = 'dochistory'
232+
ordering = ['id', ]
224233
filtering = {
225234
"id": ALL,
226235
"time": ALL,
@@ -259,6 +268,7 @@ class Meta:
259268
queryset = ConsensusDocEvent.objects.all()
260269
serializer = api.Serializer()
261270
#resource_name = 'consensusdocevent'
271+
ordering = ['id', ]
262272
filtering = {
263273
"id": ALL,
264274
"time": ALL,
@@ -280,6 +290,7 @@ class Meta:
280290
serializer = api.Serializer()
281291
detail_uri_name = 'name'
282292
#resource_name = 'docalias'
293+
ordering = ['id', ]
283294
filtering = {
284295
"name": ALL,
285296
"document": ALL_WITH_RELATIONS,
@@ -296,6 +307,7 @@ class Meta:
296307
queryset = TelechatDocEvent.objects.all()
297308
serializer = api.Serializer()
298309
#resource_name = 'telechatdocevent'
310+
ordering = ['id', ]
299311
filtering = {
300312
"id": ALL,
301313
"time": ALL,
@@ -319,6 +331,7 @@ class Meta:
319331
queryset = DocReminder.objects.all()
320332
serializer = api.Serializer()
321333
#resource_name = 'docreminder'
334+
ordering = ['id', ]
322335
filtering = {
323336
"id": ALL,
324337
"due": ALL,
@@ -338,6 +351,7 @@ class Meta:
338351
queryset = LastCallDocEvent.objects.all()
339352
serializer = api.Serializer()
340353
#resource_name = 'lastcalldocevent'
354+
ordering = ['id', ]
341355
filtering = {
342356
"id": ALL,
343357
"time": ALL,
@@ -361,6 +375,7 @@ class Meta:
361375
queryset = NewRevisionDocEvent.objects.all()
362376
serializer = api.Serializer()
363377
#resource_name = 'newrevisiondocevent'
378+
ordering = ['id', ]
364379
filtering = {
365380
"id": ALL,
366381
"time": ALL,
@@ -383,6 +398,7 @@ class Meta:
383398
queryset = WriteupDocEvent.objects.all()
384399
serializer = api.Serializer()
385400
#resource_name = 'writeupdocevent'
401+
ordering = ['id', ]
386402
filtering = {
387403
"id": ALL,
388404
"time": ALL,
@@ -406,6 +422,7 @@ class Meta:
406422
queryset = InitialReviewDocEvent.objects.all()
407423
serializer = api.Serializer()
408424
#resource_name = 'initialreviewdocevent'
425+
ordering = ['id', ]
409426
filtering = {
410427
"id": ALL,
411428
"time": ALL,
@@ -429,6 +446,7 @@ class Meta:
429446
queryset = DocHistoryAuthor.objects.all()
430447
serializer = api.Serializer()
431448
#resource_name = 'dochistoryauthor'
449+
ordering = ['id', ]
432450
filtering = {
433451
"id": ALL,
434452
"affiliation": ALL,
@@ -451,6 +469,7 @@ class Meta:
451469
queryset = BallotDocEvent.objects.all()
452470
serializer = api.Serializer()
453471
#resource_name = 'ballotdocevent'
472+
ordering = ['id', ]
454473
filtering = {
455474
"id": ALL,
456475
"time": ALL,
@@ -474,6 +493,7 @@ class Meta:
474493
queryset = RelatedDocument.objects.all()
475494
serializer = api.Serializer()
476495
#resource_name = 'relateddocument'
496+
ordering = ['id', ]
477497
filtering = {
478498
"id": ALL,
479499
"source": ALL_WITH_RELATIONS,
@@ -492,6 +512,7 @@ class Meta:
492512
queryset = RelatedDocHistory.objects.all()
493513
serializer = api.Serializer()
494514
#resource_name = 'relateddochistory'
515+
ordering = ['id', ]
495516
filtering = {
496517
"id": ALL,
497518
"source": ALL_WITH_RELATIONS,
@@ -514,6 +535,7 @@ class Meta:
514535
queryset = BallotPositionDocEvent.objects.all()
515536
serializer = api.Serializer()
516537
#resource_name = 'ballotpositiondocevent'
538+
ordering = ['id', ]
517539
filtering = {
518540
"id": ALL,
519541
"time": ALL,
@@ -546,6 +568,7 @@ class Meta:
546568
serializer = api.Serializer()
547569
cache = SimpleCache()
548570
#resource_name = 'addedmessageevent'
571+
ordering = ['id', ]
549572
filtering = {
550573
"id": ALL,
551574
"time": ALL,
@@ -573,6 +596,7 @@ class Meta:
573596
serializer = api.Serializer()
574597
cache = SimpleCache()
575598
#resource_name = 'submissiondocevent'
599+
ordering = ['id', ]
576600
filtering = {
577601
"id": ALL,
578602
"time": ALL,
@@ -599,6 +623,7 @@ class Meta:
599623
serializer = api.Serializer()
600624
cache = SimpleCache()
601625
#resource_name = 'reviewrequestdocevent'
626+
ordering = ['id', ]
602627
filtering = {
603628
"id": ALL,
604629
"time": ALL,
@@ -623,6 +648,7 @@ class Meta:
623648
serializer = api.Serializer()
624649
cache = SimpleCache()
625650
#resource_name = 'editedauthorsdocevent'
651+
ordering = ['id', ]
626652
filtering = {
627653
"id": ALL,
628654
"time": ALL,
@@ -646,6 +672,7 @@ class Meta:
646672
serializer = api.Serializer()
647673
cache = SimpleCache()
648674
#resource_name = 'documenturl'
675+
ordering = ['id', ]
649676
filtering = {
650677
"id": ALL,
651678
"desc": ALL,
@@ -670,6 +697,7 @@ class Meta:
670697
serializer = api.Serializer()
671698
cache = SimpleCache()
672699
#resource_name = 'reviewassignmentdocevent'
700+
ordering = ['id', ]
673701
filtering = {
674702
"id": ALL,
675703
"time": ALL,

ietf/group/resources.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Copyright The IETF Trust 2014-2019, All Rights Reserved
12
# Autogenerated by the mkresources management command 2014-11-13 23:15
23
from ietf.api import ModelResource
34
from ietf.api import ToOneField
@@ -28,6 +29,7 @@ class Meta:
2829
queryset = Group.objects.all()
2930
serializer = api.Serializer()
3031
#resource_name = 'group'
32+
ordering = ['id', ]
3133
filtering = {
3234
"id": ALL,
3335
"time": ALL,
@@ -57,6 +59,7 @@ class Meta:
5759
queryset = GroupStateTransitions.objects.all()
5860
serializer = api.Serializer()
5961
#resource_name = 'groupstatetransitions'
62+
ordering = ['id', ]
6063
filtering = {
6164
"id": ALL,
6265
"group": ALL_WITH_RELATIONS,
@@ -75,6 +78,7 @@ class Meta:
7578
queryset = GroupMilestone.objects.all()
7679
serializer = api.Serializer()
7780
#resource_name = 'groupmilestone'
81+
ordering = ['id', ]
7882
filtering = {
7983
"id": ALL,
8084
"desc": ALL,
@@ -102,6 +106,7 @@ class Meta:
102106
queryset = GroupHistory.objects.all()
103107
serializer = api.Serializer()
104108
#resource_name = 'grouphistory'
109+
ordering = ['id', ]
105110
filtering = {
106111
"id": ALL,
107112
"time": ALL,
@@ -129,6 +134,7 @@ class Meta:
129134
queryset = GroupURL.objects.all()
130135
serializer = api.Serializer()
131136
#resource_name = 'groupurl'
137+
ordering = ['id', ]
132138
filtering = {
133139
"id": ALL,
134140
"name": ALL,
@@ -149,6 +155,7 @@ class Meta:
149155
queryset = Role.objects.all()
150156
serializer = api.Serializer()
151157
#resource_name = 'role'
158+
ordering = ['id', ]
152159
filtering = {
153160
"id": ALL,
154161
"name": ALL_WITH_RELATIONS,
@@ -167,6 +174,7 @@ class Meta:
167174
queryset = GroupEvent.objects.all()
168175
serializer = api.Serializer()
169176
#resource_name = 'groupevent'
177+
ordering = ['id', ]
170178
filtering = {
171179
"id": ALL,
172180
"time": ALL,
@@ -189,6 +197,7 @@ class Meta:
189197
queryset = RoleHistory.objects.all()
190198
serializer = api.Serializer()
191199
#resource_name = 'rolehistory'
200+
ordering = ['id', ]
192201
filtering = {
193202
"id": ALL,
194203
"name": ALL_WITH_RELATIONS,
@@ -209,6 +218,7 @@ class Meta:
209218
queryset = GroupMilestoneHistory.objects.all()
210219
serializer = api.Serializer()
211220
#resource_name = 'groupmilestonehistory'
221+
ordering = ['id', ]
212222
filtering = {
213223
"id": ALL,
214224
"desc": ALL,
@@ -233,6 +243,7 @@ class Meta:
233243
queryset = MilestoneGroupEvent.objects.all()
234244
serializer = api.Serializer()
235245
#resource_name = 'milestonegroupevent'
246+
ordering = ['id', ]
236247
filtering = {
237248
"id": ALL,
238249
"time": ALL,
@@ -257,6 +268,7 @@ class Meta:
257268
queryset = ChangeStateGroupEvent.objects.all()
258269
serializer = api.Serializer()
259270
#resource_name = 'changestategroupevent'
271+
ordering = ['id', ]
260272
filtering = {
261273
"id": ALL,
262274
"time": ALL,
@@ -278,6 +290,7 @@ class Meta:
278290
serializer = api.Serializer()
279291
cache = SimpleCache()
280292
#resource_name = 'groupfeatures'
293+
ordering = ['id', ]
281294
filtering = {
282295
"has_milestones": ALL,
283296
"has_chartering_process": ALL,
@@ -308,6 +321,7 @@ class Meta:
308321
serializer = api.Serializer()
309322
cache = SimpleCache()
310323
#resource_name = 'historicalgroupfeatures'
324+
ordering = ['id', ]
311325
filtering = {
312326
"has_milestones": ALL,
313327
"has_chartering_process": ALL,

0 commit comments

Comments
 (0)