def make_real_post(request, owner_token, loc, content, rounding, reply_to, picture=None, source=None): """ actually create and save the post """ assert reply_to or picture post = Post(latitude=loc.latitude, longitude=loc.longitude, content = content, rounding = rounding, reply_to = reply_to, picture = picture, ipaddr = request.META['REMOTE_ADDR']) if owner_token: post.owner_token = owner_token if source != None: post.source = source post.save() if reply_to: reply_to.latest_update = post.created reply_to.save() return post
def save(cls, request: Request, *args, **kwargs): """ Метод для сохранения поста :param request: :param kwargs: :return: """ if request.get("id", False): post = blog.get_post(request.get("id")) else: post = Post() post.title = request.get("title") post.short = request.get("short") post.imgs = request.get("imgs", []) post.body = request.get("body", "") post.tags = request.get("tags", []) post.category = request.get("category", None) post.draft = request.get("draft", True) post.author_id = request.get("author_id", False) post.author_name = request.get("author_name", False) post.source = request.get("source", False) return {"post_id": post.save()}