总体设计思路:
初始化一个数组,设定一个初始日期(比如2021-1-1),一个结束日期(实时变化,今天)。将这之间的所有日期都放进数组里,再将数组倒序,模型根据数组中的日期循环查询,直接上代码
class CustomProfileView(APIView):
def get(self, request):
# if request.session.get('manager'):
date_list = []
begin_date = datetime.datetime.strptime("2021-7-1", "%Y-%m-%d")
end_date = datetime.datetime.strptime(time.strftime('%Y-%m-%d', time.localtime(time.time())), "%Y-%m-%d")
# 设置一个初始时间,一个结束时间(今天),把日期存在数组中,再按数组顺序查询该天的用户档案
while begin_date <= end_date:
date_str = begin_date.strftime("%Y-%m-%d")
date_list.append(date_str)
begin_date += datetime.timedelta(days=1)
userlist = []
# 时间逆序,使得从最近档案开始查询
date_list.reverse()
print(date_list)
for i in date_list:
user = User.objects.filter(createTime=i)
user_ser = UserSerializer(user, many=True).data
if not user.exists():
pass
else:
userlist.append({'createTime': i, 'userArray': user_ser})
data = {
'createList': userlist
}
return Response(data, status=status.HTTP_201_CREATED)
返回结果,使用序列化显示数据(自己设置序列化,restframework)
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = '__all__'