jsondatastore: return entries alphabetically sorted (#31714)

This commit is contained in:
Frédéric Péters 2019-03-25 19:10:00 +01:00
parent dc80587d5c
commit 891b143d2a
3 changed files with 30 additions and 0 deletions

View File

@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.12 on 2019-03-25 18:11
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('jsondatastore', '0005_remove_jsondatastore_log_level'),
]
operations = [
migrations.AlterModelOptions(
name='jsondata',
options={'ordering': ['text']},
),
]

View File

@ -43,6 +43,9 @@ class JsonData(models.Model):
creation_datetime = models.DateTimeField(auto_now_add=True)
last_update_datetime = models.DateTimeField(auto_now=True)
class Meta:
ordering = ['text']
def save(self, *args, **kwargs):
text_value_template = self.datastore.text_value_template
if text_value_template:

View File

@ -112,6 +112,14 @@ def test_jsondatastore_template(app, jsondatastore):
assert len(resp.json['data']) == 1
assert resp.json['data'][0]['text'] == 'bar'
# check entries are alphabetically sorted
resp = app.post_json('/jsondatastore/foobar/data/create', params={'foo': 'aaa'})
uuid = resp.json['id']
resp = app.get('/jsondatastore/foobar/data/')
assert len(resp.json['data']) == 2
assert resp.json['data'][0]['text'] == 'aaa'
assert resp.json['data'][1]['text'] == 'bar'
def test_jsondatastore_get_by_attribute(app, jsondatastore):
resp = app.post_json('/jsondatastore/foobar/data/create', params={'foo': 'bar'})
uuid = resp.json['id']