【发布时间】:2021-04-23 04:21:25
【问题描述】:
你好 StackOverflow 社区,
我目前正在努力在我的views.py 中指定输出格式。我有一列“日期”使用以下格式:2021-01-14。 在我的回复中,我想更改日期格式,使其仅显示年份 2021。
我已经用 Cast 尝试过,但似乎这不是正确的方法。 对于这个视图,我不使用序列化器,因此添加它就没有选项了。
views.py
class FilterParams(generics.ListAPIView):
model = Variants
queryset = Variants.objects.all()
def get(self, request, *args, **kwargs):
queryset = self.get_queryset()
ModelsByYears = queryset.values('model').distinct().annotate(min_year=Min('date')).annotate(max_year=Max('date')).order_by('model')
return Response(data= {'ModelsByYears':ModelsByYears})
我尝试了什么:
class FilterParams(generics.ListAPIView):
model = Variants
queryset = Variants.objects.all()
def get(self, request, *args, **kwargs):
queryset = self.get_queryset()
ModelsByYears = queryset.values('model').distinct().annotate(min_year=Min(Cast('date', DateTimeField(format="%Y")))).annotate(max_year=Max('date')).order_by('model')
return Response(data= {'ModelsByYears':ModelsByYears})
错误信息
TypeError: __init__() got an unexpected keyword argument 'format'
【问题讨论】:
标签: python django django-rest-framework drf-queryset