def post(self, post_id=None): if post_id: # 为啥要设置这条件? abort(400) else: args = post_post_parser.parse_args(strict=True) # ? user = User.verify_auth_token(args['token']) if not user: abort(401) new_post = Post(args['title'], args['text']) # 新建post对象 new_post.date = datetime.datetime.now() new_post.author = user if args['tags']: for item in args['tags']: tag = Tag.query.filter_by(title=item).first() if tag: # 如果数据库已经存在该tag,那就直接添加到新post中 new_post.tags.append(tag) else: # 不然要新建了再添加 new_tag = Tag(item) new_post.tags.append(new_tag) db.session.add(new_post) db.session.commit() return new_post.id, 201