【发布时间】:2020-12-21 10:46:33
【问题描述】:
我已将两个条件传递给 filter() 方法,因此它返回 queryset 。
但是如何将这两个条件传递给 get() 方法以便作为单个对象获得响应
代码:
class DailyHolidayView(APIView):
def post(self,request):
city_name=request.data['city_name']
date=datetime.strptime(request.data['date'], '%d/%m/%Y')
print(date)
res=Holiday.objects.filter(city_name=city_name,date=date)
if (res):
ser = MonthSerializer(res, many=True)
return Response(ser.data, status=status.HTTP_200_OK)
因为我收到如下错误:
AssertionError: [{'id': 12, 'date': '05/01/2019', 'holidayName': 'testHoliday2'}] != {'id': 12, 'date': '05/ 01/2019', 'holidayName': 'testHoliday2'}
【问题讨论】:
-
.get(**kwargs)基本上是.filter(**kwargs).first() -
如果你得到一个对象,那么你可能想从你对序列化程序的调用中删除
many=True,这样你就不会返回一个列表
标签: django django-rest-framework