#!/usr/bin/env python3 # -*- coding: UTF-8 -*- from django.shortcuts import render from django.http import HttpResponse import json from message.MessageModel import MessageModel import datetime def add_mesage(request): message = Message() message_model = MessageModel() message.init_models(request, message_model) if message.email == '': is_valid = False elif message.context == '': is_valid = False elif message.nick_name == '': is_valid = False else: is_valid = True result = {'success': is_valid} if is_valid: if message.parent_id != 'root': message_list = MessageModel.objects.filter(parent_id=message.parent_id) if len(message_list) == 0: result['success'] = False result['msg'] = 'parent_id is not exits' return HttpResponse(json.dumps(result)) message_model.save() result['msg'] = 'ok' return HttpResponse(json.dumps(result)) else: result['msg '] = 'args is error' return HttpResponse(json.dumps(result)) def qry_message(request): message_list = MessageModel.objects.filter(parent_id='root') message_arr = [] for message in message_list: entity = {'id': str(message.id), 'context': str(message.context), 'parent_id': str(message.parent_id), 'nick_name': str(message.nick_name), 'create_time': str(message.create_time) } sons_list = MessageModel.objects.filter(parent_id=str(message.id)) sons_arr = [] for son_message in sons_list: son_entity = {'id': str(son_message.id), 'context': str(son_message.context), 'parent_id': str(son_message.parent_id), 'nick_name': str(son_message.nick_name), 'create_time': str(son_message.create_time) } sons_arr.append(son_entity) entity['sons'] = sons_arr message_arr.append(entity) result = {'success': 'ok', 'data': message_arr} return HttpResponse(json.dumps(result).encode('utf-8') .decode('unicode-escape')) class Message(object): def get_message(self, request): if request.method == "GET": self.email = request.GET.get('email', '') self.context = request.GET.get('context', '') self.parent_id = request.GET.get('parent_id', 'root') self.nick_name = request.GET.get('nick_name', '') elif request.method == 'POST': self.email = request.POST.get('email', '') self.context = request.POST.get('context', '') self.parent_id = request.POST.get('parent_id', 'root') self.nick_name = request.POST.get('nick_name', '') def init_models(self, request, message_model): self.get_message(request) message_model.email = self.email message_model.context = self.context message_model.parent_id = self.parent_id message_model.nick_name = self.nick_name message_model.create_time = datetime.datetime.now()