首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flask-Admin视图不显示backref列

Flask-Admin是一个用于快速创建管理界面的Flask扩展。它提供了一种简单的方式来生成和管理数据库模型的管理界面。在使用Flask-Admin时,有时可能会遇到Flask-Admin视图不显示backref列的问题。

backref是SQLAlchemy中的一个概念,用于在关系模型中指定反向引用。当我们在模型中定义了backref时,它会自动在关联的模型中创建一个反向引用属性。然而,Flask-Admin默认情况下不会显示backref列。

要解决这个问题,我们可以通过自定义Flask-Admin视图来显示backref列。首先,我们需要创建一个继承自Flask-Admin的ModelView的自定义视图类。然后,在自定义视图类中,我们可以通过重写get_list_columns方法来指定要显示的列,包括backref列。

下面是一个示例代码:

代码语言:txt
复制
from flask_admin.contrib.sqla import ModelView

class CustomModelView(ModelView):
    def get_list_columns(self):
        columns = super().get_list_columns()
        # 添加backref列到显示列中
        columns.append('backref_column_name')
        return columns

在上面的代码中,我们创建了一个名为CustomModelView的自定义视图类,并重写了get_list_columns方法。在这个方法中,我们首先调用了父类的get_list_columns方法来获取默认的显示列,然后将backref列添加到显示列中。

接下来,我们需要将自定义视图类应用到相应的模型上。假设我们有一个名为User的模型类,我们可以在创建Flask-Admin实例时,将自定义视图类作为参数传递给相应的模型。

代码语言:txt
复制
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_admin import Admin
from your_app import CustomModelView, User

app = Flask(__name__)
db = SQLAlchemy(app)
admin = Admin(app)

admin.add_view(CustomModelView(User, db.session))

在上面的代码中,我们创建了一个名为admin的Flask-Admin实例,并通过调用add_view方法将自定义视图类应用到User模型上。

通过以上步骤,我们可以解决Flask-Admin视图不显示backref列的问题,并在管理界面中显示backref列。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,我无法提供相关链接。但你可以通过访问腾讯云的官方网站,查找与云计算相关的产品和文档。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

flask_admin使用教程

用于添加新记录的创建视图。 用于更新现有记录的编辑视图。 可选的只读详细信息视图。 有许多选项可用于自定义这些内置视图显示和功能。...要禁用某些CRUD操作,请设置以下任一布尔参数: can_create = False can_edit = False can_delete = False 如果模型中的数据太多,无法在列表视图显示...,则可以通过设置以下内容添加只读详细信息视图: can_view_details = True 从列表视图中删除很容易,只需为列传递列名称列表“不包括”列表参数: column_exclude_list...= ['country'] 要获得更快的编辑体验,请在列表视图中启用内嵌编辑: column_editable_list = ['name', 'last_name'] 或者,让添加和编辑表单显示在列表页的模式窗口中...独立视图(Standalone Views) 通过扩展BaseView类并定义自己的视图方法,可以添加一组独立视图绑定到任何特定模型)。

4.1K20

【一周掌握Flask框架学习笔记】Flask中使用数据库(使用Flask-SQLAlchemy管理数据库)

['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:mysql@127.0.0.1:3306/test' 其他设置: # 动态追踪修改设置,如未设置只会提示警告, 建议开启...选项名 说明 primary_key 如果为True,代表表的主键 unique 如果为True,代表这不允许出现重复的值 index 如果为True,为这创建索引,提高查询效率 nullable...如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 常用的SQLAlchemy关系选项 选项名 说明 backref 在关系的另一模型中添加反向引用 primary...示例 2.1 在视图函数中定义模型类 from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name...#关键代码 user = db.relationship('User', backref='role') ...

4.1K20

Flask入门第三天

primary_key:如果为True,代表表的主键 unique:如果为True,代表这不允许出现重复的值 index:如果为True,为这创建索引,提高查询效率 nullable:如果为True...,允许有空值,如果为False,不允许有空值 default:为这定义默认值   2.4 常用的SQLALchemy关系选项 backref:在关系的另一模型中添加反向引用,用于设置外键名称,在1查多的...'mysql://root:mysql@127.0.0.1:3306/test' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True #查询时会显示原始...='role') # repr()方法类似于django的__str__,用于打印模型对象时显示的字符串信息 def __repr__(self): return 'Role...#关键代码 us = db.relationship('User', backref='role', lazy='dynamic') ...

2.7K20

Flask数据库过滤器与查询集

True 如果一旦在数据库中把表结构修改,那么在sqlalchemy中的模型类也进行修改 app.config[‘SQLALCHEMY_TRACK_MODIFICATIONS’] = True 查询时显示原始...语句不能用flask-sqlalchemy的对象进行操作,必须用sqlalchemy最原始的方式进行操作,并要冲sqlalchemy中导入func这个工具 进行分组查询,query中必须包含分组后必须显示出的字段...下面列出了一些常用选项: primary_key:如果设置为True,这就是表的主键 unique:如果设置为True,这不允许出现重复的值 index:如果设置为True,为这创建索引,提升查询效率...例如如果address模型中有两个或以上的定义为person模型的外键,SQLAlchemy就不知道该使用哪。...而且,db.backref()指定这两个关系之间的引用关系,而是回引Follow模型。 回引中的 lazy 参数指定为 joined 。这个 lazy 模式可以实现立即从联结查询中加载相关对象。

6.8K10

flask数据操纵

@127.0.0.1:3306/db_flask' # 数据库和模型类同步修改 app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True # 查询时会显示原始...datetime.datetime 日期和时间 LargeBinary str 二进制文件 约束类型 选项 说明 primary_key 如果为True,代表表的主键 unique 如果为True,代表这不允许出现重复的值...index 如果为True,为这创建索引,提高查询效率 nullable 如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 关系类型 选项 说明 backref...实现回话提交数据到以前的状态 模型类 """ 相关配置的代码 记得改为你自己的数据库 """ class Type(db.Model): __tablename__ = 'tbl_type' # 表的名字 如果写就以类名命名...# backref:在关系的另一模型中添加反向引用 heros = db.relationship("Hero", backref='type') # 英雄 class Hero(db.Model

1.3K10

带你认识 flask 粉丝

lazy和backref中的lazy类似,只不过当前的这个是应用于左侧实体,backref中的是应用于右侧实体。 如果理解起来比较困难,你也不必过于担心。...最好将应用逻辑从视图函数转移到模型或其他辅助类或辅助模块中,因为你会在本章之后将会看到,这使得单元测试更加容易。...作为第二个问题,考虑到应用主页最终将实现分页,所以它不会显示所有可用的用户动态,只能是前几个,并显示一个链接来提供感兴趣的用户查看更多动态。...user_id=self.id) return followed.union(own).order_by(Post.timestamp.desc()) 10 对用户模型执行单元测试 虽然我担心这个稍显...如果用户查看其他并未关注的用户的个人主页,显示“Follow”链接。 如果用户查看其他已经关注的用户的个人主页,显示“Unfollow”链接。

91810

小白学Flask第十一天| flask-sqlalchemy数据库扩展包(一)

:3306/Flask_test' #设置每次请求结束后会自动提交数据库中的改动 app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True #查询时会显示原始...db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), unique=True) #repr()方法显示一个可读字符串...users = db.relationship('User', backref='role') class User(db.Model): # ......backref参数向User模型中添加一个role属性,从而定义反向关系。通过User实例的这个属性可以获得对应的Role模型对象,而不用再通过role_id外键获取。...这里给出常用的SQLAlchemy关系选项: 选项名 说明 backref 在关系的另一模型中添加反向引用 primary join 明确指定两个模型之间使用的联结条件 uselist 如果为False

2.6K30

小记 - Flask基础

根据每个URL请求,找到具体的视图函数并进行调用 Flask程序中路由一般是通过程序实例的装饰器实现 Flask调用视图函数后,可以返回2种内容: 字符串:将视图函数的返回值作为响应内容,返回给客户端...{% for num in nums %} 当前数字为: {{num}} {% endfor %} 过滤器 过滤器的本质是函数,有时候不仅仅只是需要输出变量的值,还需要修改变量的显示...app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:root@127.0.0.1:3306/flask' 其它设置 # 动态追踪修改设置,如未设置只会提示警告,建议开启...外键) 1 1号管理 1 2 2号管理 1 3 用户A 2 实现数据模型 通过class实现,继承自db.Model 定义表名:__tablename__ 定义字段:db.Column(字段类型, 选项...指需要关联的对象,可在Role类的实例中通过role.users查看该实例在User模型中的属性 backref参数:对关系提供反向引用的声明。

2.8K10

Flask中ORM框架之SQLAlchemy插件入门到弃坑

如果为True,为这创建索引,提高查询效率 nullable 如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 Q: 模型中外键ForeignKey的构建...进行 外键的反向引用即级联查询,注意点他不是映射在数据库之中的他实际上是Django的隐型属性; # 基础语法 外键反向引用名称 = db.relationship('有外键的表(模型类名称)', backref...page="+page+"&count="+per_page; } } 蓝图视图代码 # Day3\App\views\demo\demo3.py...WeiyiGeek.paginate 补充说明: (1) 在Flask-SQLAchemy里筛选中的all()只能放在最后且后面不能加filter()等过滤条件; (2) 在筛选中offset与limit是区分顺序的...upgrade INFO [alembic.runtime.migration] Running upgrade 6e1cbc828430 -> 27b381148478, empty message 视图

3.1K10
领券