# 数据表的设计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
# 数据渲染
总结:有时候数据结构不方便的时候可以借助数据库(这里建议使用内存型数据库)来整理数据结构也是不错的选择
总结以上是内存溢出为你收集整理的【数据结构的补全整理】规定在周一到周五中,赛选出8点到18点中的计划安排,空计划时刻补全空值全部内容,希望文章能够帮你解决【数据结构的补全整理】规定在周一到周五中,赛选出8点到18点中的计划安排,空计划时刻补全空值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)