def post(self, post_id=None): if not post_id: abort(400) else: args = parsers.post_post_parser.parse_args(strict=True) user = User.verify_auth_token(args['token']) if not user: abort(401) new_post = Post() new_post.title = args['title'] new_post.date = datetime.datetime.now() new_post.text = args['text'] new_post.user = user if args['tags']: for item in args['tags']: tag = Tag.query.filter_by(name=item).first() if tag: new_post.tags.append(tag) else: new_tag = Tag() new_tag.name = item new_post.tags.append(new_tag) db.session.add(new_post) db.session.commit() return (new_post.id, 201)
# coding=utf-8 import random import datetime from uuid import uuid4 from flaskblog.models import db, User, Tag, Post user = User(id=str(uuid4()), username='******', password='******') db.session.add(user) db.session.commit() user = db.session.query(User).first() tag_one = Tag(id=str(uuid4()), name='Python') tag_two = Tag(id=str(uuid4()), name='Flask') tag_three = Tag(id=str(uuid4()), name='SQLALchemy') tag_four = Tag(id=str(uuid4()), name='Vagrant') tag_list = [tag_one, tag_two, tag_three, tag_four] s = "EXAMPLE TEXT" for i in xrange(100): new_post = Post(id=str(uuid4()), title="Post" + str(i)) new_post.user = user new_post.publish_date = datetime.datetime.now() new_post.text = s new_post.tags = random.sample(tag_list, random.randint(1, 3)) db.session.add(new_post) db.session.commit()