更改子类模型表中的列顺序

2023-12-09

在 peewee 中有一个子类化模型的情况下,如何告诉 peewee 在表中创建列的顺序?在下面的例子中,顺序是“b,c,a”,但我想要“a,b,c”。

class BaseModel(Model):
  b = CharField()
  c = CharField()

class Table(BaseModel):
  a = CharField()

database.create_table(Table)

顺序很重要,因为这是我们产品的沙箱区域,我们在其中测试新的更改。用户界面非常通用,但用户仍然需要能够使用该产品,因此有必要增强一些可用性,例如列顺序。


当peewee创建一个表时,它calls get_fields,这称为get_sorted_fields,它使用_sort_key每个字段的名称,这基于字段的定义顺序。子类中的字段定义在父类中的字段之后,因此它的排序会靠后。

更改表中创建列的顺序的唯一方法是子类化Field or ModelOptions (and BaseModel使用子类ModelOptions等),覆盖相关代码以应用不同的排序顺序,并在任何地方使用新的子类。

一个更实用且可维护的解决方案是只在一侧维护一个列表,以您想要的顺序命名列,然后将其发送到前端以告诉它如何显示列。当您添加新列时,只需将其按照正确的顺序添加到该列表中即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改子类模型表中的列顺序 的相关文章

  • Python 子进程(ffmpeg)仅在我按 Ctrl-C 程序时启动?

    我正在尝试使用 Cygwin 和 Python 2 7 并行运行一些 ffmpeg 命令 这大概是我所拥有的 import subprocess processes set commands ffmpeg i input mp4 outpu
  • SQLite FTS4 使用特殊字符进行搜索

    我有一个 Android 应用程序 它使用 FTS4 虚拟表在 SQLite 数据库中搜索数据 它工作正常 但是当表中的数据包含特殊字符 如 或 时 SQLite MATCH 函数不会给出任何结果 我现在迷路了 谢谢 注意 默认的分词器真的
  • pandas Wide_to_long 后缀参数

    我对在 pandas 中使用 Wide to long 时的参数有疑问 有一个参数叫suffix我不明白 在文档中它说 后缀 str 默认 d 捕获所需后缀的正则表达式 d 捕获数字后缀 没有数字的后缀可以用否定字符类 D 指定 您还可以进
  • 如何让python优雅地失败?

    我只是想知道如何让 python 在所有可能的错误中以用户定义的方式失败 例如 我正在编写一个处理 大 项目列表的程序 并且某些项目可能不符合我定义的格式 如果 python 检测到错误 它目前只会输出一条丑陋的错误消息并停止整个过程 但是
  • 以矢量化方式在另一个 DataFrame 中查找包含值子集的行

    如何匹配此 DataFrame 中的值source car id lat lon 0 100 10 0 15 0 1 100 12 0 10 0 2 100 09 0 08 0 3 110 23 0 12 0 4 110 18 0 32 0
  • 最小二乘法拟合直线 python 代码

    我有一个由 X 和 Y 坐标组成的散点图 我想使用直线的最小二乘拟合来获得最佳拟合线 直线最小二乘拟合是指 如果 x 1 y 1 x n y n 是测量数据对 则最佳直线是y A Bx 这是我的Python代码 number of poin
  • matplotlib 中的 R 风格数据轴缓冲区

    R 绘图自动设置 x 和 y 限制 以在数据和轴之间留出一些空间 我想知道 matplotlib 是否有办法自动执行相同的操作 如果没有 是否有一个好的公式或 经验法则 来说明 R 如何设置其轴限制 在 matplotlib 中 您可以通过
  • 类型错误:float() 参数必须是字符串或数字,而不是“列表”python

    我的 Python 有问题 这是我的代码 def calcola a input b float a 0 split c float a 0 split d float a 0 split e float a 0 split j float
  • numpy:大量线段/点的快速规则间隔平均值

    我沿着一维线有许多 约 100 万个 不规则间隔的点 P 这些标记线段 这样 如果点是 0 x a x b x c x d 则线段从 0 gt x a x a gt x b x b gt x c x c gt x d 等 我还有每个段的 y
  • 如何在Python代码中查找列号

    简短问题 当按上述方式调用函数时 我可以找到行号here https stackoverflow com questions 3056048 filename and line number of python script 同样 如何找到
  • 如何使用 PyMongo 在重复键错误后继续插入

    如果我需要在 MongoDB 中插入尚不存在的文档 db stock update one document set document upsert True 将完成这项工作 如果我错了 请随时纠正我 但是 如果我有一个文档列表并想将它们全
  • Pandas groupby apply 执行缓慢

    我正在开发一个涉及大量数据的程序 我正在使用 python pandas 模块来查找数据中的错误 这通常工作得非常快 然而 我当前编写的这段代码似乎比应有的速度慢得多 我正在寻找一种方法来加快速度 为了让你们正确测试它 我上传了一段相当大的
  • 为什么 __instancecheck__ 没有被调用?

    我有以下 python3 代码 class BaseTypeClass type def new cls name bases namespace kwd result type new cls name bases namespace p
  • 如何使用 django-pyodbc (ubuntu 16.04) 配置数据库设置 Django-MSSQL?

    我是 Django 新手 目前正在尝试使用另一个数据库来保存我的模型 即MS SQL 我的数据库部署在docker容器中 903876e64b67 microsoft mssql server linux bin sh c opt mssq
  • 计算 pyspark df 列中子字符串列表的出现次数

    我想计算子字符串列表的出现次数 并根据 pyspark df 中包含长字符串的列创建一个列 Input ID History 1 USA UK IND DEN MAL SWE AUS 2 USA UK PAK NOR 3 NOR NZE 4
  • 根据列索引重命名 Dataframe 列

    是否有内置函数可以按索引重命名 pandas 数据框 我以为我知道列标题的名称 但事实证明第二列中有一些十六进制字符 根据我接收数据的方式 我将来可能会在第 2 列中遇到这个问题 因此我无法将这些特定的十六进制字符硬编码到 datafram
  • Django Rest Framework POST 更新(如果存在或创建)

    我是 DRF 的新手 我阅读了 API 文档 也许这是显而易见的 但我找不到一个方便的方法来做到这一点 我有一个Answer与 a 具有一对一关系的对象Question 在前端 我曾经使用 POST 方法来创建发送到的答案api answe
  • Python 导入非常慢 - Anaconda python 2.7

    我的 python import 语句变得非常慢 我使用 Anaconda 包在本地运行 python 2 7 导入模块后 我编写的代码运行得非常快 似乎只是导入需要很长时间 例如 我使用以下代码运行了一个 tester py 文件 imp
  • Streamlabs API 405 响应代码

    我正在尝试使用Streamlabs API https dev streamlabs com Streamlabs API 使用 Oauth2 来创建应用程序 因此 首先我将使用我的应用程序的用户发送到一个授权链接 其中包含我的应用程序的客
  • Python 中的字符串slugification

    我正在寻找 slugify 字符串的最佳方法 蛞蝓 是什么 https stackoverflow com questions 427102 in django what is a slug 我当前的解决方案基于这个食谱 http code

随机推荐

  • 无需 jQuery 即可平滑滚动锚链接

    是否可以使用平滑滚动来锚定链接 但是without jQuery 我正在创建一个新网站 但我不想使用jQuery 扩展这个答案 https stackoverflow com a 8918062 3851798 定义scrollTo函数后
  • 如何使用 wp7 的 GPS 获取地址名称

    我可以使用 GeoCoordinateWatcher 类获取 Windows Phone 7 上的当前 GPS 坐标 如下所示msdn 我只能得到Latitude and 经度值 但我想得到Address那个位置的 市场上有一个名为 Whe
  • 为什么 map/filter ... 不适用于无数组?

    Nothing 不是所有类型的子类型吗 scala gt val array new Array 5 array Array Nothing Array null null null null null scala gt array map
  • 列出所有应用程序 - 输出为文本文件

    我只是想知道如何使用最好的 applescript 来查找 Mac OS X 10 5 上安装的所有应用程序 并将其所有应用程序名称输出到文本文件中 Mac OS X 下安装的所有应用程序都注册在启动服务数据库 Launch Service
  • 如何使用 GitHub API?

    当它告诉我使用时 我不确定这意味着什么 GET repos owner repo commits sha 我如何使用该 API 调用来检索我正在查找的信息 GET repos owner repo commits sha GET是用于调用此
  • 绕特定点旋转(例如,绕0,0,0旋转)

    我一直在这个问题上进行了很多搜索 但我找不到真正合适的答案 我需要围绕给定点 例如 0 0 0 旋转圆柱体 但圆柱体的枢轴是默认给定的 我该如何改变它 I found this主题 这正是我想做的 但我不知道如何用 java 来做 为了更好
  • 列出实现接口的类的所有属性

    我有一个带有接口的类 TInterface interface IXMLNode function Get One Boolean function Get Two Boolean function Get Three Boolean pr
  • php - 我应该在调用 Location: header 之后调用 exit() 吗? [复制]

    这个问题在这里已经有答案了 调用重定向函数头后 是否应该调用 exit 谢谢 你绝对应该 单独设置标头不会终止脚本执行
  • 在 .NET C# 中存储加密密钥的最佳方法

    在我们的应用程序中 我们有很多敏感的配置设置 我们将它们存储在再次加密的 xml 文件中 该安全文件必须在运行时解密并读取配置值 但是出现了一个问题 密钥和初始化向量是硬编码在代码中的 因此任何人都可以使用 Reflector 读取它 在
  • 使用java从服务器(ServerSocket)读取客户端(客户端Socket)上的字节包

    我是新人 我是一名 Java 开发人员 新手 目前我正在从事 BSE 项目 我面临着从服务器 服务器套接字 读取客户端 客户端套接字 上的字节包的问题 如果你能帮助我 请帮助我 提前致谢 好吧 如果你想直接与数据包交互 那么你需要使用Dat
  • 如何从User字段LookupId获取用户

    我在 sharepoint 在线有一个列表 在这个列表中 我有一个人员字段 当我调用 API 端点来获取列表中的所有项目时 我获得了 person 字段的 LookupId 值 我尝试使用lookupid的值来获取用户 但它不起作用 因为该
  • 为什么 Hibernate 会忽略 package-info.java?

    我正在尝试在包级别上使用 Hibernate TypeDef 注释 正如它所描述的那样休眠文档 我在用着Hibernate 3 6 and Spring 3 0 7 代码编译并显示package info class位于类路径中 但 Hib
  • 我们究竟如何计算时间戳差异?

    我们将时间戳作为姿势 图片和点数据的双精度值 它们并不总是对齐 如何计算两个时间戳之间的时间距离 是的 我知道如何减去两个双精度数 但我完全不确定增量如何与时间相对应 我有一些有趣的时间戳数据可以阐明您的问题 但没有准确回答它 我一直在尝试
  • MySQL BIGINT(20) 与 Varchar(31) 性能对比

    我读过 像 23423423423423423637 这样的 bigint 作为 primare 唯一键比像 961637593864109 412954765521130 这样的 varchar 更好 但是how当有 100 万行时 我永
  • twig 继承和 symfony2 控制器变量

    我正在尝试使用 symfony2 twig 进行我的第一个项目 我使用定义的块创建了基本的树枝模板 它基本上看起来像这样 block content some content endblock block footer footer con
  • angularJS:用于溢出文本和性能的 dotdotdot

    我是 angularJS 的新手 也许写了一些不好的东西 但我怎样才能正确实现这个插件 https github com BeSite jQuery dotdotdot 在我的桌子上吗 现在用我的代码我的编辑表单和表格真的不太快 真的太慢
  • 使用 Google App Engine for Java 出现 ClassNotFoundException

    我和一个朋友正在使用 Java SDK 涉足 App Engine 我们已经 毫无问题地组合一个 Hello World 示例 然而 当 我们尝试添加代码以使用以下方式对 Web 服务进行简单调用 com google api client
  • 使用 libpqxx 库插入 NULL/空字符串

    在下面的代码片段中 名为 mac 的 std string 对象有时是一个空字符串 即 我希望准备好的语句自动将此变量视为 null 我想知道如何在下面的代码中实现这一点 在我的谷歌搜索尝试中 我碰巧发现有一种方法可以设置指示空值的标志 但
  • 使用包含 @ 的密码使用 PHP 连接到 FTP

    我有以下问题 我需要连接到 FTP 并读取一个 CSV 文件 主要问题是它的密码有 我如何连接特殊字符 我尝试了以下几种连接方式 文件打开 filename ftp user p s email protected file csv han
  • 更改子类模型表中的列顺序

    在 peewee 中有一个子类化模型的情况下 如何告诉 peewee 在表中创建列的顺序 在下面的例子中 顺序是 b c a 但我想要 a b c class BaseModel Model b CharField c CharField