def calProject(cls, pid): p = Project.get_one_by(project_id=pid) tlist = Todo.objects(project=p) tt = 0 dt = 0 for t in tlist: tt = tt + 1 if t.done is True: dt = dt + 1 p.totaltodo = tt p.donetodo = dt p.save()
def getTodobyProject(cls, pid): list = [] project = None project = Project.get_one_by(project_id=pid) for t in Todo.objects(project=project): dic = { 'todo_id': t.todo_id, 'title': t.title, 'done': t.done, 'dead_line': t.dead_line, 'updated_time': t.updated_time, } list.append(dic) print('!!model todo gettodobyproj list', list) return json.dumps(list)
def reorderTodo(cls, form): tid = form.get('todo_id', '') print('!!model reorder', tid) t = Todo.get_one_by(todo_id=tid) t.dead_line = form.get('dead_line', '') print('!!model reorder', t.dead_line) t.rank = form.get('rank', 3) print('!!model reorder', t.rank) pid = form.get('project', '') t.project = Project.get_one_by(project_id=pid) if len(pid) > 10: ttt = Todo.calProject(pid) # 注意getlist可以得到重复的键对应的值并生成列表 print('!!model reorder tag', form.getlist('tag')) tagidlist = form.getlist('tag') taglist = [] # 这里有个命名的坑已解决 for i in tagidlist: tag = Tag.get_one_by(tag_id=i) taglist.append(tag) print(taglist) t.tag = taglist t.save() return tid