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

Peewee和Flask- admin :我无法在管理视图中显示引用表中的字段

Peewee是一个Python编程语言下的轻量级ORM(对象关系映射)库,它提供了简单且易于使用的API,用于与关系型数据库进行交互。Peewee支持多种数据库后端,包括MySQL、PostgreSQL、SQLite等。它的主要特点包括简洁的语法、高性能、灵活性和可扩展性。

Flask-Admin是一个基于Flask框架的开源库,用于快速创建和管理Web应用程序的后台管理界面。它提供了一组易于使用的界面组件,用于管理数据库模型和数据。Flask-Admin可以自动生成CRUD(创建、读取、更新、删除)操作的界面,同时还支持自定义视图和功能。

在管理视图中显示引用表中的字段,可以通过在Peewee模型中定义外键关系来实现。在Peewee中,可以使用ForeignKeyField字段来表示外键关系。例如,假设有两个模型User和Role,Role模型有一个外键指向User模型,可以如下定义:

代码语言:txt
复制
from peewee import *

class User(Model):
    name = CharField()
    # 其他字段...

class Role(Model):
    name = CharField()
    user = ForeignKeyField(User)  # 外键关系

# 其他模型定义...

# 创建数据库连接
database = MySQLDatabase('your_database', user='your_username', password='your_password')

# 连接数据库
database.connect()

# 创建表格
database.create_tables([User, Role])

# 关闭数据库连接
database.close()

在Flask-Admin中,可以使用ModelView来管理模型的后台界面。可以通过自定义ModelView的子类来实现对外键字段的显示。例如,可以创建一个UserModelView类来管理User模型,并在该类中定义外键字段的显示方式:

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

class UserModelView(ModelView):
    column_list = ('name', 'role')  # 显示的字段列表

    def _role_formatter(view, context, model, name):
        return model.role.name  # 显示外键字段的名称

    column_formatters = {
        'role': _role_formatter  # 指定外键字段的显示方式
    }

# 创建Flask-Admin实例
admin = Admin(app)

# 注册User模型和UserModelView
admin.add_view(UserModelView(User))

通过以上代码,可以在Flask-Admin的管理视图中显示引用表中的字段。在这个例子中,UserModelView的column_list属性指定了要显示的字段列表,而column_formatters属性指定了外键字段role的显示方式。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云数据库MySQL:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云云服务器CVM:https://cloud.tencent.com/product/cvm
  • 腾讯云对象存储COS:https://cloud.tencent.com/product/cos
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云区块链服务:https://cloud.tencent.com/product/tbaas
  • 腾讯云视频处理:https://cloud.tencent.com/product/vod
  • 腾讯云音视频通信:https://cloud.tencent.com/product/trtc
  • 腾讯云元宇宙:https://cloud.tencent.com/product/virtual-world
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

经验拾忆(纯手工)=> Python-

总体感觉(peewee像 Django-ORM分离版,,但比Django-ORMSqlAlchemy 小巧,简单,文档也友好) 还有一个更重要感觉就是, peewee API方法名 SQL...安装导入 pip install peewee from peewee import * # peewee模块很结构化,都在peewee,如果懒就都导入进来。...-记录-字段 ORM语法 数据库-记录-字段)对应关系如下: ORM结构 数据库 类 实例(对象) 记录 类属性 列 默认自增主键ID 定义一个类,继承了peewee模块Model...官档-字段-参数:http://docs.peewee-orm.com/en... 但下面还会挑一些主要常用(有一点点点难特别)说一下。。。...改名: 注:改名只是查询时临时名 下一篇文章查询,会提到 字段改名, 格式: 字段.alias('新字段名') 那改名也差不多,有2种方式: 方式1: 格式:

1.5K10

(数据科学学习手札120)Python+Dash快速web应用开发——整合数据库

而在今天教程就将带大家学习Dash利用简单好用ORM库peewee,快速高效地将数据库整合进Dash应用。 ?...2.1 创建数据   利用peewee构建数据,需要定义相应Model类,构建属性即对应字段,并且Meta类定义其他一些属性,譬如下面的例子我们就以最简单SQLite数据库为例...,不设置则自动根据类名推导 # 创建数据,若对应数据库已存在此,则会跳过 db.create_tables([Model1])   上述代码执行之后,便会在关联到SQLite数据库创建对应...2.2 向中新增记录   在数据创建完成之后,我们第一件事当然是要向插入数据,这在peewee操作非常简单: 插入单条数据   peewee插入单条记录可以使用create()方法:...以上就是本文全部内容,欢迎评论区发表你意见想法。

1.2K20

纯Python轻松开发在线留言板!

web应用开发」第十七期,之前各期教程,我们针对Dash各种基础且常用概念展开了学习,但一直没有针对与数据库之间交互进行专门介绍,只是某些示例利用pandas、SQLAlchemy等工具简陋地操作数据库...而在今天教程就将带大家学习Dash利用简单好用ORM库peewee,快速高效地将数据库整合进Dash应用。...2.1 创建数据 利用peewee构建数据,需要定义相应Model类,构建属性即对应字段,并且Meta类定义其他一些属性,譬如下面的例子我们就以最简单SQLite数据库为例:...,不设置则自动根据类名推导 # 创建数据,若对应数据库已存在此,则会跳过 db.create_tables([Model1]) 上述代码执行之后,便会在关联到SQLite数据库创建对应...2.2 向中新增记录 在数据创建完成之后,我们第一件事当然是要向插入数据,这在peewee操作非常简单: 「插入单条数据」 peewee插入单条记录可以使用create()方法: #

1.6K40

XCode之第一次亲密接触

管理,只要用户名密码,我们弄一个自增ID字段作为主键。用别的比如GUID作为主键也行,最好有一个单一主键,那样会方便一些,后面会讲到。 ?...栏目,我们先不考虑多级,只要一级,那样子只需要一个名称字段就足够了。注意设置ID字段为主键标识。 ? 文章,需要跟栏目建立管理关系,然后有标题内容。注意设置ID字段为主键标识。 ?...关于XCode里面添删改查等完整代码操作参看《ORM组件XCode(速览)》 五、建立后台 我们在后台目录Admin增加一个用来管理管理页面Admin.aspx,然后调整一下后台首页Default.aspx...上图中可以看出Search方法SearchCount有四个参数,除了key外,另外三个前面都有提到。这个方法实际上就是对这个实体类所有字符串字段进行模糊查询。...ObjectDataSource高级查询可以参考《XCode如何使用高级查询》 ObjectDataSource更多精彩《与ObjectDataSource共舞》 我们增加一个添加管理员用表单页面

1.3K90

像对象一样对待数据

咱们编程教室有不少同学,学完了基础课程,掌握了一定编程能力,开始做项目了。然后很可能遇到一个问题:管理数据。课程里有讲过用文件保存数据,还有 pickle、csv 等模块辅助。...我们假定一个表示人类型 Person,包含姓名 name 生日 birthday 两个字段: class Person(peewee.Model): class Meta:...通常是增加一个 is_deleted 字段标记已删除内容。(所以,不要以为在网上把发布过内容删掉就真的不存在了) > 创建关联数据 程序,经常会有一些具有关联关系数据。...以 SQLite 为例: python -m pwiz -e sqlite people.db > db.py 在你数据库文件所在路径下执行这条命令,就可以 db.py 自动生成代码。 ?...自动生成代码 我们先前案例,有一些就使用了 peewee。比如 Python 高频词汇(关键字:单词)押韵检索工具(关键字:押韵)。

71020

Python:轻量级 ORM 框架 peewee 用法详解

说明: 1、当 rows 传递是字典列表时,fields 是不需要传,如果传了,那么,rows 字段字典必须存在,否则报错。...peewee 不会为缺失字段做默认处理。 2、当 rows 传递是元组列表时,必须指定 fields,并且 fields 字段顺序跟元组一致。...这里解释一下,Person 这个模型,并没有指定主键,peewee 会自动增加一个名为 id 自增列作为主键。...但这并不是强制,比如例子以 Name 为条件,而 Name 并非主键。只是最好不要这样做。...五、查询条件 当查询条件不止一个,需要使用逻辑运算符连接,而 Python and、or Peewee 是不支持,此时我们需要使用 Peewee 封装好运算符,如下: 逻辑符 含义 样例

5.7K20

期末作业C#实现学生宿舍管理系统

将该文件丢入项目文件夹,然后Microsoft Visual Studio 2010解决方案资源管理引用右键点击添加 (选择MySql.Data所在路径添加即可,引用成功后如下图所示...) [2022/06/14]由于文章是一点点更新,后面增加数据就在对应文章写入,下面的是用户登录、注册以及供用户列表显示 新建demo数据库,并在该数据库建立两个数据admin...---- 用户管理 创建一个dataGridView1视图,添加字段后如下所示 注意:优化界面将该部分窗体重新放到了用户控件中去了,通过panel完成跳转交互,优化用户体验,如果需要更改优化同学...,钥匙借出登记需要些什么字段: borrow字段 说明 类型 id 自增 int(11) user_id 对应Userid绑定,为了识别用户方便进行连查询 varchar(20) d_time...user中有一个id为1用户,我们先用假数据显示,后面再通过前端完成借阅操作) 4、设计用户控件 ①打开【解决方案资源管理器】项目中右键【添加】 【用户控件】 ②然后修改下窗体大小之前一样

23130

全程带阻:记一次授权网络攻防演练(上)

目的很明确,获取登录密码,所以,计划利用泄漏信息,从社工库哈希反解两方面达到目的。 社工库。...提取邮箱用户名,liufei liufei、nana 18xxxxxx56、admin legxxxxxxng,社工库查询历史密码: ?...上图中有几个输入框,应该是个查询功能,但是找不到查询按钮,尝试在前端 HTML 源码翻找查询接口,无果; burp 报文历史审查 JS,也没找到有用接口。看来,还得找个高权限账号。...这可不好玩了,admin 哈希密码之前用彩虹、社工字典都尝试过,无法反解,前进步伐再次受阻。...哈哈,哈哈哈哈,密钥到手,高权有! 接下来,将 user 字段从 nana 改为 admin,并提供有效密钥 $admin$: ? 生成了具备有效签名新 JWT 值。

1.6K40

MySQL介绍

我们也可以将数据存储文件,但是文件读写数据速度相对较慢。所以,现在我们使用关系型数据    库管理系统(RDBMS)来存储管理大数据量  3....4)如果原数据改变那么视图中值也会随着改变,视图中数据修改也会影响原数据       5)一下几种情况视图中数据无法改变:         A....视图中那个数据对应原多个数据时也无法修改  2、为什么要有视图       1)可以简化查询       2)可以进行权限限制(将一部分列放到视图中让其他人操作)       3)大数据分时可以用到...3、视图例子   1)比如现在我们有一张商品中有许多字段,现在我们需要经常查询商品价格名称这两个字段     2)并且我们只想显示这个中价格大于100所有商品       3)那么我们就可以创建一个视图...2)人员管理系统,你删除一个人员,你即需要删除人员基本资料,也要删除该人员相关信息,如信箱,文章等       3)这样,这些数据库操作语句就构成一个事务!

1.3K20

Django管理应用程序高级配置BookInstance模型运用【Django】

Django管理应用程序 Django管理应用程序可以使用模型自动构建可用于创建、查看、更新和删除记录站点区域。这可以开发过程节省大量时间,使测试模型查看是否有正确数据变得容易。...向列表视图中操作菜单添加其他选项,并选择此菜单在表单上显示位置。 详细信息视图 选择要显示(或排除)字段、它们顺序、分组、可编辑、要使用小部件、方向等。...向记录添加相关字段以允许内联编辑(例如,创建作者记录时添加添加编辑书本记录功能)。...= ('last_name', 'first_name', 'date_of_birth', 'date_of_death') 不幸是,我们无法直接指定列表_显示基因字段,因为它是一个ManyToManyField...fields = ['first_name', 'last_name', ('date_of_birth', 'date_of_death')] 字段属性列表上只能显示这些字段

1.7K20

基于Sanic微服务基础架构

sex, BaseModel要先添加name字段 info装饰器会创建migrate_record来记录migrate,version每个model必须唯一,使用version来记录是否执行过,...不使用ORM做数据库操作,一个原因是性能,ORM会有性能损耗,并且无法使用asyncpg高性能库。另一个是单个微服务是很简单结构不会很复杂,简单SQL语句就可以处理来,没必要引入ORM。...生成span先无阻塞放入queuetask消费队列span。后期可以添加上采样频率。...数据 produces: response返回数据 tag: API标签 consumesproduces传入参数可以是peeweemodel,会解析model生成API数据, field...字段help_text参数来表示引用对象 http://host:ip/openapi/spec.json 获取生成json数据 相关连接 swagger:https://swagger.io/ Response

3.7K70

手把手带你使用uni-admin搭建后台管理系统

准备工作 uni-admin应用共用同一个服务空间 此文章在华为云社区为首发 是代码哈士奇 此文章来源为代码哈士奇,个人主页:https://dmhsq.blog.csdn.net/...那么这个config.json 去哪里找呢 uni-id是uni-admin配套使用 我们应用服务空间 common/uni-id下即可找到 复制进去即可 创建云数据库数据 然后初始化...db_init.json 运行到浏览器即可 当我们绑定了服务空间以及初始化db_init.json,系统会自动更新菜单 注意最后初始化 这样我们就可以管理我们应用了 拓展(快速引入自建数据控制页面...) 如果你有自己数据(非uni-id),那么一样可以通过uni-admin管理 当我们查看自己数据时候 导入成功后可发现 在后台管理可增加此页面 提交即可 引入成功...新增数据 可以看到数据也有数据了 成功~ 特别注意 (小踩坑) 如果你字段不写类型 就是下图中不写bsonType字段 那么是不可以新增以及修改(不显示输入框) 到此 uni-admin

2.4K40

SQL定义(三)

定义分片创建分片有三个要求。许可证密钥必须支持分片。使用管理门户,系统管理,许可,许可证密钥显示当前许可证或激活新许可证。必须在IRIS实例上启用分片。...必须具有%Admin_Secure特权才能启用分片。使用“管理门户”,“系统管理”,“配置”,“系统配置”,“分片配置”来选择“启用分片”按钮。...它复制查询中指定字段定义,包括数据类型,maxlengthminval / maxval。它不复制字段数据约束,例如默认值,必需值或唯一值。它不会将引用字段复制到另一个。...InterSystems SQL,还可以具有“外部”,这些SQL词典定义但存储在外部关系数据库。...如果引用了嵌入式%SerialObject类,则GetColumns()首先列出持久性类所有列,包括引用%SerialObject属性,然后列出所有%SerialObject属性。

1.3K20

使用Django实现把两个模型类数据聚合在一起

Django想要把模型类聚合得到想要数据可以用F对象。 比如有模型类AB,AB之间有外键关联在一起,A是子表,B是父(反过来没试过。。...页面显示,编辑子表 默认情况下,ModelAdmin只允许您管理模型“本身”字段,而不是相关模型.以下方法将实现,应用类列表管理显示页面,显示字段;在编辑页面,父对子表进行编辑. models.py...应用类列表管理显示页面,显示字段 可以让Students,显示GradesLevel字段 models.py里Students类里,写上如下代码: class Students(...models.Model): # 写一个方法,定义管理页面上能够显示外键字段字段 # grade为Students模型外检,level为Grades模型外检,那么为Level模型字段...使用DjangoTabularInline,可以解决这个问题,父表里对子表进行编辑: 所有代码都在admin.py里写,具体如下: # 一对多关联编辑,让父管理配置页面能同时编辑子表,以下Score

1.4K20

台框架模块开发实践-代码生成器添加及使用

运行项目:npm run dev 使用 admin 123asd 即可登录到系统 配置菜单 代码生成器代码添加了,但是目前还无法再页面显示出来,有两三种做法 第一种:可以直接修改 /src/router...使用代码生成器使用 使用需知:本地运行访问生成器列表时,将会同步迁移生成器,自动创建到数据库(默认与后台模块同一个库) 使用前确保有可用数据源,本地直接运行默认 sqlite 数据库,...第一步:选择数据源后,创建业务相关:家常管理-物品管理 根据格式来创建即可,实体名帕斯卡命名,会自动转换写法 父菜单:需要在生成菜单前创建菜单分组 建议保存后再进行字段配置,避免误操作 创建完成后点击按钮...,还是先看一眼,后面加个生成并执行) 第四步:因为是模块第一个服务,所以需要先在权限管理创建一个【家常管理分组,这里名字代码生成器填写父菜单需要一致,否则无法生成菜单 这里可以重定向路由地址由后续生成...,默认列表页以 /list 结尾 第五步:接口管理同步最新接口 第六步:代码生成列表点击【生成菜单数据】将会自动将模块菜单,视图生成 效果展示 生成成功,刷新页面,一个简单物品管理基础功能就出来了

7410

【腾讯云1001种玩法】CRUD生成器DBuilder介绍与腾讯云部署

下图表示了这两个构件组成关系 图2-1概念与构件 下面对图中设计概念、构件、模块关系以及Build与CRUD流程做详细阐述。...beforeView(data): 该接口View请求,View 查询器查询之后调用,传递是视图参数引用。用来对视图显示做预处理。...Form 还需要开放对应预处理后处理接口。 3.列表List(Table) List是一个分页Table,按照Module Configuration 字段配置显示分页数据。...3-4每个字段表单配置说明如下表所示: 3-5每个字段列表配置说明如下表所示: 3-6每个字段关系配置说明如下表所示: CoreCRUD 模块实现 CoreCRUD模块涉及代码文件极其作用如下说明...模块FORM表单下部,扩展了一组Tab,其中第一个Tab显示了所有字段详细配置,通过以上扩展就能实现在CoreCRUD生成Form表单页面对GModule进行配置; app/views/admin

4.6K00

py3.6+xadmin自学网站搭建

这里简述一下步骤。 第一步,创建一个文件包放置xadminapp,并且将app注册settings.py文件。 第二步修改url,用xadmin代替admin。...后台管理搭建非常迅速,也非常好用,django后台管理是根据数据管理,所以适用于大多数情况,给我们开发带来了便利。...登陆注册 为了使用django后台自带认证与登陆,所以我们用户最好还是继承它用户比较好,这样我们登录认证session写入django都帮我们做好了,所以别人做好东西,当然是拿来用啦。...,所以过程不要写与父类重复字段(尤其是登陆字段)如果写重复了会导致在哪登陆都无法登陆情况。...它在我们数据库建了一张用来存放生成随机码信息。 第四步:建立form自动认证。 form.py 第五步,图中实例化出对象传到前端 view.py 第六步,在前端自动生成验证码。

1.1K100

如何用Python搭建监控平台

不过,万变不离其宗,运维工作最重要就是维护系统稳定性。除了熟悉运用各种提高运维效率工具来辅助工作外,云资源费用管理、安全管理、监控等,都需要耗费不少精力时间。...表示一个命令行工具,用来 Django 项目进行交互; Db.sqlite3,表示默认数据库,可以设置替换成其他数据库。...OK,现在我们再定位到 http://127.0.0.1:8000/admin,你会看到 Django 后台管理网页,这里就不过多介绍了。...设计视图 Views 模型被定义之后,我们便可以图中引用模型了。通常,视图会根据参数检索数据,加载一个模板,并使用检索到数据呈现模板。 设计视图,则是我们用来实现业务逻辑地方。...比较典型有: Graphite 是一款存储时间序列数据,并通过 Django Web 应用程序图形显示插件; Vimeo 则是一个基于 Graphite 仪表板,具有附加功能和平滑设计; Scout

40640

手把手带你使用uni-admin搭建后台管理系统

如果你还不知道服务空间如何创建,移步uni-id准备工作 uni-admin应用共用同一个服务空间 是代码哈士奇 此文章来源为代码哈士奇,个人主页: https://cloud.tencent.com...配置文件 [在这里插入图片描述] common/uni-id下引入config.json 那么这个config.json 去哪里找呢 uni-id是uni-admin配套使用 我们应用服务空间...db_init.json,系统会自动更新菜单 注意最后初始化 [在这里插入图片描述] 这样我们就可以管理我们应用了 拓展(快速引入自建数据控制页面) 如果你有自己数据(非uni-id),那么一样可以通过...uni-admin管理 当我们查看自己数据时候 [在这里插入图片描述] 导入成功后可发现 [在这里插入图片描述] 在后台管理可增加此页面 [在这里插入图片描述] [在这里插入图片描述] 提交即可...引入成功 [在这里插入图片描述] 新增数据 [在这里插入图片描述]可以看到数据也有数据了 [在这里插入图片描述] 成功~ 特别注意 (小踩坑) 如果你字段不写类型 就是下图中不写bsonType字段

3.3K40
领券