如何在Python中对记录进行排序?
问题描述:
我正在从表中提取记录。如何在Python中对记录进行排序?
这是我的类:
class user_guide(db.Model):
ugq_no = db.IntegerProperty()
ug_quest = db.TextProperty()
ug_answer = db.TextProperty()
ug_parent_type = db.TextProperty()
last_modified_on = db.DateTimeProperty(auto_now=True)
class Meta:
db_table = 'user_guide'
verbose_name = 'User Guides'
verbose_name_plural = 'User Guide'
def __unicode__(self):
return str(self.ugq_no)
以下是功能。
def get_all_record(request):
qry_obj = db.Query(user_guide)
all_list = []
#Here I am fetching all records from qry_obj. In this I am getting data in random order.
for q in qry_obj:
all_list.append(q)
#all_list.sort()
sorted(all_list)
return HttpResponse(serializers.serialize('json', all_list), mimetype='application/json')
在这里,我从qry_obj获取所有记录并在all_list中添加这些记录。
但我想按照ugq_no的升序对数据进行排序。 我试过sort()和sorted()但没用。 (Django Framwork,python) 我哪里出错了,请帮忙?
答
使用的查询.order
method有谷歌的数据存储排序您记录您:
qry_obj = db.Query(user_guide).order('ugq_no')
注意,user_guide
对象本身,您可以访问该查询过:
qry_obj = user_guide.all().order('ugq_no')
您可以简单地通过调用list
就可以将查询变成列表:
all_list = list(qry_obj)
你看过django文档吗? https://docs.djangoproject.com/en/dev/topics/db/aggregation/#order-by –
这是*不*一个django模型,看起来像谷歌AppEngine或类似的东西... –