django实现按照日期对数据进行分组管理

总体设计思路:
初始化一个数组,设定一个初始日期(比如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__'


在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值