我正在使用SQLAlchemy for Flask来创建一些模型.问题是,我的几乎所有列都需要nullable=False,所以我正在寻找一种在创建列时将此选项设置为默认值的方法.当然我可以手动添加它们(作为Vim练习),但我今天感觉不舒服.作为参考,这是我的setup(models.py)的样子:
from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), nullable=False)
Run Code Online (Sandbox Code Playgroud)
还有很多.有一个简单的方法吗?
提前致谢.
我有一个烧瓶应用程序,我必须删除和更新用户信息,如下(简化):
@app.route('/<user>')
def show_user(user):
""" Show user information """
render_template('show_user.html')
@app.route('/delete/<user>')
def delete_user(user):
""" Delete user from database """
delete_user_from_db(user)
return redirect(url_for('show_users', user=user)
@app.route('/update/<user>', method=["POST"])
def update_user(user):
""" Update user information """
update(user, stuff_from_POST)
return redirect(url_for('show_users', user=user)
Run Code Online (Sandbox Code Playgroud)
对于这些方法中的每一种,我需要验证userURL中指定的是否真的是一个有效的用户,所以我会在所有这些函数的开头做这样的事情:
if user not in mydb:
do(something)
abort(404)
Run Code Online (Sandbox Code Playgroud)
这是相当麻烦的,因为我将拥有更多依赖于用户有效的函数,我想知道是否可以将该块包装在另一个在调用这些路径时自动执行的函数中.
提前致谢.