2013-10-24 71 views
3

我正在從表中提取記錄。如何在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) 我哪裏出錯了,請幫忙?

+0

你看過django文檔嗎? https://docs.djangoproject.com/en/dev/topics/db/aggregation/#order-by –

+0

這是*不*一個django模型,看起來像谷歌AppEngine或類似的東西... –

回答

3

使用的查詢.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) 
+0

order_by給錯誤我嘗試過:qry_obj = db.Query(user_guide).order('ugq_no') – eegloo

+2

@eegloo:你確定你在這裏使用Django模型嗎?仔細觀察,看起來您正在使用Google App Engine。 –

+0

是Google應用引擎 – eegloo

相關問題