2013-09-24 146 views
2

我構建了一個django-tastypie api.It返回數據,當我打到網址。 我想根據日期對數據進行排序。問題是它的一個字符型字段排序爲非orm(mongodb)的tastypie

資源代碼:

class myResource(Resource): 
    date = fields.CharField(attribute='date', default=None) 
    time = fields.CharField(attribute='time', default=None) 
    myid = fields.FloatField(attribute='newsid', default=None) 

    class Meta: 
    resource_name = 'data' 
    object_class = dict2obj 

    def obj_get_list(self, bundle, **kwargs): 
    bundle = [] 

    #get_data fetches data from mongodb 

    content = self.get_data() 

    #content is a dict  

    for key, value in content.items(): 
     value['myid'] = key 
     bundle.append(dict2obj(value)) 

    #bundle is a list 

    return bundle 

網址命中返回:

[{ 
     date: "2013-09-24 08:56:00.000", 
     myid: 266131, 
     time: "08:56" 
    }, 
    { 
     date: "2013-09-24 09:43:00.000", 
     myid: 266151, 
     resource_uri: "/api/eboss/news/266151/" 

    }] 

回答

0

我不知道你的dict2obj,但如果datetime是真正的日期和時間,那麼分別使用tastypie.fields.DateFieldtastypie.fields.TimeField更合適。

要進行排序,您可以覆蓋apply_sorting(obj_list, options=None)函數,其中options是包含查詢參數(GET方法)的字典。