def post(self, key): checking_api_key(key) args = post_parser.parse_args() abort_if_user_not_found(args['user_id']) session = db_session.create_session() categories = session.query(Category).all() if args['category'] is None or args['category'] not in list( map(lambda x: x.name, categories)): return jsonify( {"Error": { "message": "Такая категория не существует" }}) news = News() news.name = args['name'] news.content = args['content'] news.user_id = args['user_id'] news.category_id = session.query(Category).filter( Category.name == args["category"]).first().id session.add(news) session.commit() return jsonify({'success': 'OK'})
def add_news(): form = NewsForm() db_sess = db_session.create_session() categories = db_sess.query(Category).all() category = [(i.id, i.name) for i in db_sess.query(Category).all()] form.category.choices = category if form.validate_on_submit(): news = News() news.title = form.title.data # news.content = form.content.data logging.warning(form) # news.content = form.content.data news.content = request.form.get('content') news.is_published = form.is_published.data news.category_id = form.category.data current_user.news.append(news) # мы изменили текущего пользователя с помощью метода merge db_sess.merge(current_user) db_sess.commit() return redirect('/') return render_template('news.html', title='Добавление новости', form=form, category=categories)