代码之家  ›  专栏  ›  技术社区  ›  Trace

Django过滤器时间戳范围

  •  0
  • Trace  · 技术社区  · 7 年前

    start 和 end .
    我的观点是这样的:

    from rest_framework.generics import ListAPIView
    from rest_framework.generics import RetrieveAPIView
    from .models import HourlyTick
    from .serializer import HourlyTickSerializer
    
    # Create your views here.
    
    class HourlyTickList(ListAPIView):
        def get(self, request):
            start = request.GET.get('start', None)
            end = request.GET.get('end', None)
            return HourlyTick.objects.filter(timestamp__range(start, end))
    
    class HourlyTickDetail(RetrieveAPIView):
        queryset = HourlyTick.objects.all()
        serializer_class = HourlyTickSerializer
    

    型号:

    from django.db import models
    
    # Create your models here.
    
    class HourlyTick(models.Model):
        id = models.IntegerField(primary_key=True)
        timestamp = models.DateTimeField(blank=True, null=True)
        symbol = models.TextField(blank=True, null=True)
        open = models.IntegerField(blank=True, null=True)
        high = models.IntegerField(blank=True, null=True)
        low = models.IntegerField(blank=True, null=True)
        close = models.IntegerField(blank=True, null=True)
        trades = models.IntegerField(blank=True, null=True)
        volume = models.IntegerField(blank=True, null=True)
        vwap = models.FloatField(blank=True, null=True)
    
        class Meta:
            managed = False
            db_table = 'xbtusd_hourly'
    

    from django.urls import path, re_path
    
    from . import views
    
    urlpatterns = [
        re_path('hourlyticks', views.HourlyTickList.as_view())
    ]
    

    我收到的错误是:

    这里有什么问题?

    1 回复  |  直到 7 年前
        1
  •  1
  •   dan-klasson    7 年前

    你错过了一个等号。应该是:

    return HourlyTick.objects.filter(timestamp__range=(start, end))