3

我正在从表中获取记录。

这是我的课:

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 框架,python)我哪里出错了,请帮忙?

4

1 回答 1

3

使用查询中的.order方法让 Google 数据存储区为您对记录进行排序:

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)
于 2013-10-24T11:51:35.293 回答