# 数据表的设计 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
# 数据渲染