【发布时间】:2016-01-16 15:44:55
【问题描述】:
我正在尝试使用 Flask 创建博客。每个帖子都可以有多个标签,每个标签也可以与多个帖子相关联。所以我创建了一个多对多的关系。我的问题是如何在创建新帖子时保存多个标签。而且由于每个帖子都可以有不同数量的标签,我如何在表格中显示它?另外,我如何在帖子中创建新标签,然后将这些标签与其他帖子一起使用? 这是models.py -
postcategory = db.Table('tags',
db.Column('posts_id', db.Integer, db.ForeignKey('posts.id')),
db.Column('categories_id', db.Integer, db.ForeignKey('categories.id'))
)
class Post(db.Model):
__tablename__ = 'posts'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String)
content = db.Column(db.Text)
slug = db.Column(db.String, unique=True)
published = db.Column(db.Boolean, index=True)
timestamp = db.Column(db.DateTime, index=True)
categories = db.relationship('Category', secondary=postcategory, backref='posts' )
def __init__(self, title, content):
self.title = title
self.content = content
class Category(db.Model):
__tablename__ = 'categories'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String, index=True)
这是我正在处理的视图 -
def create_article():
if request.method == 'POST':
if request.form.get('title') and request.form.get('content') and request.form.get('slug') and request.form.get('published'):
post = Post(request.form['title'], request.form['content'], request.form['slug'], request.form['published'])
我确信有一个简单的解决方案,我只是把它复杂化了,但我是 web 开发的新手,所以请帮忙。
【问题讨论】:
-
我放了我正在处理的视图,我如何从模板中获取类别?
标签: python orm flask sqlalchemy flask-sqlalchemy