在Django REST

时间:2019-03-13 15:51:01

标签: django django-rest-framework django-views

我正在使用Django和Django Rest Framework构建API。

我有一个这样的自定义PostgreSQL函数:myfunction(from_date, to_date)

它只是根据reviews表中日期范围内的记录来计算数字。

我(安全!)如何从URL查询参数中获取from_dateto_date,并将其传递给函数,然后通过API返回(浮动)结果?

我制作了一个简单的模型来保存浮点数,如下所示:

class Result(models.Model):
result = models.FloatField(default=0)

class Meta:
    managed = False

或者,我可以放弃SQL函数并直接在Django / REST本身中实现它吗?

我已经有一个reviews的模型。在result的视图中,我可以从日期范围中提取reviews,进行计算,然后将其值作为序列化的result响应返回吗?

最终,我希望能够卷曲http://my.api/result?from=2019-03-01&to=2019-04-01并获得result

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以在review模型中使用ltegte进行简单过滤,而我假设dateReview模型的一个字段,您可以在其中存储每个评论的记录。然后

Review.objects.filter(date__gte=from_date, date__lte=to_date)

用您的Review模型的适当字段名称替换日期,并使用适当的序列化器替换日期。