【问题标题】:No CRUD operations with Django/Tastypie没有 Django/Tastypie 的 CRUD 操作
【发布时间】:2012-10-11 22:32:38
【问题描述】:

我是 Tastypie 的新手,使用它可以如此快速地实现 CRUD 操作真是太棒了。但我想实现其他类型的 Web 服务,其中返回值不是模型。例如,如果我有一个像这样的简单模型

class User(models.Model):
    name = models.CharField(max_length=20)
    age = models.PositiveSmallIntegerField()

想通过/api/v1/user/avg_age获取所有用户的平均年龄,我该怎么做?也许它与 Django URL 相关的东西比 Tastypie 更重要,但我现在迷路了。所以,问题是我应该在哪里/如何定义我的自定义 REST Web 服务? 提前致谢

【问题讨论】:

    标签: django web-services rest tastypie


    【解决方案1】:

    您可以将方法添加到模型本身或将其放入service layer。这样做之后,您可以使用dehydration 循环轻松地将值添加到资源中。

    另一个允许对值进行过滤的选项是实现一个保存此数据的模型,例如用户统计模型。然后,您可以添加外键关系或创建独立资源。

    因为数据不太可能发生很大变化,而且这些计算成本更高,所以我鼓励您为这样的模型创建一个 cronjob 或任务,只定期执行数据库写入

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      • 2012-05-18
      相关资源
      最近更新 更多