我想在Flask-Admin模型列表视图中仅显示付费订单.
这是models.py:
class Order(db.Model):
id = db.Column(db.Integer, primary_key=True)
amount = db.Column(db.Integer)
description = db.Column(db.String)
paid = db.Column(db.Boolean, default=False)
Run Code Online (Sandbox Code Playgroud)
这是Flask-Admin的ModelView:
class OrderView(ModelView):
column_filters = ("paid")
admin.add_view(OrderView(Order, db.session))
Run Code Online (Sandbox Code Playgroud)
过滤器工作正常,但我想使此过滤器默认.或者更好的是,不要使用过滤器,只显示输出Order.query.filter(Order.paid==True)查询的订单.
是否可以使用Flask-Admin?
如何在ModelViewreadonly 上创建一个字段?
class MyModelView(BaseModelView):
column_list = ('name', 'last_name', 'email')
Run Code Online (Sandbox Code Playgroud) 我有一个User模型类,password是许多中的一个属性.我正在使用Flask Web框架和Flask-Admin扩展来创建我的模型类的管理视图.我想在管理视图中使某些字段像password不可编辑或根本不显示它们.我该怎么做?
我可以使字段不显示在普通视图中,但是当我单击表格中任何记录的编辑按钮时,所有字段都会显示并且可以编辑.
sqlalchemy.exc.InterfaceError: <unprintable InterfaceError object>我正在尝试 Flask,但在提交 wtforms 时遇到错误。模型类是:
class Post(db.Model):
__tablename__ = 'blog_posts'
id = db.Column(db.Integer, unique=True, primary_key=True)
title = db.Column(db.String(50), unique=False)
content = db.Column(db.Text, unique=False)
user_id = db.Column(db.String, db.ForeignKey('users.username'))
@staticmethod
def post_new_entry(title, content, user_id):
""" Post new entry to database """
new_post = Post(title=title, content=content, user_id=user_id)
db.session.add(new_post)
db.session.commit()
return new_post
def __repr__(self):
return 'PostID {}: {} by {}'.format(self.id, self.title, self.user_id)
Run Code Online (Sandbox Code Playgroud)
对于我的表格,我有以下内容:
class PostForm(Form):
title = StringField('Title', validators=[DataRequired(), Length(10, 65)])
post_content = TextAreaField('Content', validators=[DataRequired(), Length(50, 500)])
submit = SubmitField('Publish Post') …Run Code Online (Sandbox Code Playgroud)