【问题标题】:Sorting in tastypie for non-orm(mongodb)为非orm(mongodb)排序
【发布时间】:2013-09-29 15:57:27
【问题描述】:

我已经构建了一个 django-tastypie api。当我点击 url 时它会返回数据。 我希望根据日期对数据进行排序。问题是它是一个字符字段

资源代码:

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/"

    }]

【问题讨论】:

    标签: python django tastypie


    【解决方案1】:

    我不知道你的dict2obj,但如果datetime 确实是日期和时间,那么分别使用tastypie.fields.DateFieldtastypie.fields.TimeField 更合适。

    要进行排序,您可以覆盖apply_sorting(obj_list, options=None) 函数,其中options 是包含查询参数的字典(GET 方法)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-21
      • 1970-01-01
      • 2019-07-12
      • 2011-08-20
      • 2013-09-26
      相关资源
      最近更新 更多