在django-rest框架中使用原始SQL?

时间:2015-08-22 18:40:34

标签: django django-rest-framework

我正在使用带有表格和物化视图的Postgres 9.4后端的Django 1.8。

我有一个名为Invoke-webRequest -Uri "http://mysiteURL" -Credentials $MyCreds -Body "input=1&type=3" 的80GB表,其中包含消费项目,每个项目都有一个组织代码和一个地区代码:

spending

我还有一个class Prescription(models.Model): region = models.ForeignKey(Region) organisation = models.ForeignKey(Organisation) month = models.DateField() amount = models.FloatField() 的物化视图,从spending_by_region表生成:

spending

(我正在使用物化视图,因为数据非常大且是静态的,实际上是数据仓库。)

我的一些Django视图使用物化视图,例如我对每个地区的看法。在这些情况下,我使用原始SQL来运行CREATE MATERIALIZED VIEW spending_by_region AS SELECT region, month, SUM(amount) AS amount FROM spending GROUP BY month, region_id ,因为当然Django的ORM不知道物化视图。

现在我想开始为我的应用程序实现API。我听说过关于django-rest-framework的好东西,但是可以在序列化之前使用原始SQL查询来获取数据吗?

例如,如果我想要一个名为select * from spending_by_region where region=123的API方法,是否可以运行与上面相同的查询?

我找到了this example,但它仍然依赖于Model字段,而不是纯粹的原始SQL。

0 个答案:

没有答案