【数据结构的补全整理】规定在周一到周五中,赛选出8点到18点中的计划安排,空计划时刻补全空值

前端之家收集整理的这篇文章主要介绍了【数据结构的补全整理】规定在周一到周五中,赛选出8点到18点中的计划安排,空计划时刻补全空值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
# 数据表的设计

class ProMeetTable(models.Model):
    """
        个人安排表
    """
    user = models.ForeignKey(to="UserInfo",verbose_name=所属用户")
    week_choice = (
        (1,Monday),(2,1)">TuesdayWednesdayThursdayFriday星期)
    time_choice =08:0009:0010:0011:0012:0013:0014:0015:0016:0017:0018:00时刻)
    title = models.CharField(max_length=250,1)">安排True)

    def __str__(self):
        return self.title

     Meta:
        verbose_name = ProMeetTable
        verbose_name_plural = verbose_name
        db_table = ''



# 假设设计好的个人安排数据

 
# 接口:


class
ProData(APIView): authentication_classes = [] def post(self,request): message = {} week= [1,2,3,4,5] id = int(request.data.get(id)) ProTime = [] 遍历每个时刻 for x in [8,9,10,11,12,13,14,15,16,17,18]: ProMeetTableRaw = models.ProMeetTable.objects.filter(user_id=id,time=x).all() week_plan = [] for table in ProMeetTableRaw: week_plan.append(table.week) 遍历计算出每个时刻空内容的星期 创建一个空包在数据库 for week_set set(week).difference(set(week_plan)): models.ProMeetTable.objects.create(week=week_set,time=x,user_id=id,title="") 根据时刻 将周一到周五全部抽出来 ProMeetTableSet = models.ProMeetTable.objects.filter(user_id=id,time=x).all().order_by(week) data_f = {} data_f[time"] = {}:00.format(x) ProMeetTableSet: data_f[self.type_week(table.week)] = table.title ProTime.append(data_f) 删除所有空字段 models.ProMeetTable.objects.filter(user_id=id,1)">).all().delete() message[code'] = 200 message[data'] = ProTime JsonResponse(message) type_time(self,item): data = {8: ,15: = data[item] res type_week(self,item): data = {1: return res



# 数据渲染


 

 

 

总结:有时候数据结构不方便的时候可以借助数据库(这里建议使用内存型数据库)来整理数据结构也是不错的选择

猜你在找的Python相关文章