web2py 的多列唯一约束

2024-04-06

可以将特定列标记为 unique=true。 在 web2py 中处理多列唯一约束的最正确方法是什么?

例如,假设我有一个汇率表。它可以包含“来源货币”、“目标货币”和“汇率”列。两行具有相同的来源和目的地货币是没有意义的。使 from/to 组合独一无二的最优雅或正确的方法是什么?


假设数据将通过表单输入,您可以使用表单验证器,如下所示:

db.define_table('rates',
    Field('from_currency'),
    Field('to_currency'))

db.rates.to_currency.requires=IS_NOT_IN_DB(
    db(db.rates.from_currency==request.vars.from_currency), 'rates.to_currency')

这将确保to_currency在记录集中是唯一的,其中from_currency匹配新值from_currency被插入(所以组合from_currency and to_currency必须是唯一的)。

另一种选择是使用无效化 http://web2py.com/book/default/chapter/07#onvalidation函数来确认两个值是不同的——这将在通常的表单验证之后、数据库插入之前运行。

最后,您可以通过 Javascript 在客户端进行验证。

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

web2py 的多列唯一约束 的相关文章

  • IntegrityError 重复键值违反唯一约束 - django/postgres

    我正在跟进我之前问过的问题其中我试图寻求从愚蠢 写得不好的 mysql 查询到 postgresql 的转换 我相信我成功了 无论如何 我使用的是手动从 mysql 数据库移动到 postgres 数据库的数据 我正在使用如下所示的查询 U
  • web2py 网址验证器

    在 web2by 构建的缩短器中 我想首先验证 url 如果无效 则返回到第一页并显示错误消息 这是我在控制器 mvc arch 中的代码 但我不明白出了什么问题 import urllib def index return dict de
  • SQL独特的varchar大小写敏感问题

    我正在尝试用单词列表填充 SQL 表 该表本身非常简单 CREATE TABLE WORDS ID BIGINT AUTO INCREMENT WORD VARCHAR 128 NOT NULL UNIQUE PRIMARY KEY ID
  • 在 Web2py Python 中格式化日期

    我正在寻找一个函数来格式化日期以获得日 月和年 日期以以下格式存储在我的数据库中 2012 09 26 如果你的目标是在web2py模板上显示 那么你必须使用纯Python来格式化 row datetime field strftime d
  • 如何在 Google App Engine (GAE) 上运行的 Web2py 上创建新的 auth_user 和 auth_group?

    我在本地计算机上使用 Web2py 创建了一个应用程序 它通过 WSGI 和 SQLite 运行 我可以使用我自己的域并执行我需要的所有网址重写 成功地将我的应用程序部署到 Google App Engine 现在我需要一种方法来创建负责更
  • 如何使用注释指定列的组合应该是唯一约束?

    我想确保表中的所有行都具有两个字段的唯一组合 并且我想在实体类中使用注释来指定这一点 我尝试过使用 Table 和 UniqueConstraint 的组合 但显然我做错了 因为我似乎只能指定单独的列应该是唯一的 我已经可以指定使用 Col
  • Web2py:我应该如何显示存储在数据库中的上传图像?

    有没有一种 web2py 方式来显示数据库表中的图像 Example 该模型 db define table images Field picture upload 控制器 def somefunction to get the image
  • 使用多个表中的数据的唯一约束(SQL / SQLAlchemy)

    一个顶级类叫做Parametric用于创建可以具有与其关联的参数的对象 class Parametric object def init self name self name name self pars class Foo Parame
  • SQL Server 中的 IGNORE_DUP_KEY 选项

    我在 MSDN 和 Google 上做了很多搜索 但看起来像描述IGNORE DUP KEY选择非常有限 我的困惑 Is IGNORE DUP KEY选项 一个列的选项 为了一张桌子 对于几列 对于索引 使索引唯一 If set IGNOR
  • 使用 GAE 限制对静态文件的访问

    我有一个静态文件 我不想公开该文件 有没有办法限制 app yaml 的访问 使其只能由自己的域加载 基于 web2py 的解决方案也很受欢迎 因为我在 GAE 之上使用它 Thanks 您可以使用 登录 必需 来限制对其的访问 以要求使用
  • ORM UniqueConstraint,空值重复

    我有一个对 3 个字段具有唯一约束的实体 2 个字段不可为空 第三个字段可为空 我的问题是 当第三个字段为空时 唯一约束不起作用 因此我可以在数据库中包含一些重复的值 例如 5 1 null 5 1 null 为我 5 1 null 是一个
  • SQL 约束检查值是否不存在于另一个表中

    在我的 PostgreSQL 中9 4数据库 我有一个表fields有一个柱子name具有独特的价值观 我正在创建一个新表fields new具有类似的结构 这里不重要 和一个列name以及 我需要一种方法来约束name要插入的值field
  • 如何在 PythonAnywhere 上部署 web2py?

    我如何启动并运行一个基本的 web2py 服务器Python无处不在 http www pythonanywhere com 更新 29 05 我们现在在网络选项卡上有一个大按钮 可以为您完成所有这些操作 只需点击它说的地方Web2Py 填
  • 在 Liquibase 中添加复合唯一约束

    我正在创建一个包含 3 列的链接表 id 产品 id 锦标赛 id 向 id 列添加 uniqueConstraint 很简单 但我想确保任何一对 product id tournament id 都是唯一的 Liquibase org 上
  • JPA (Hibernate) + Spring:处理唯一约束违规

    我有一个具有唯一字段的实体 A 该字段基本上定义了该实体 这意味着它是相等的 那么实体也完全相同 第二点是 如果违反该约束 那么绝不是例外 这意味着完全可以预期用户会尝试输入重复项 如果出现重复 应用程序应该默默地选择已经存在的实体 我现在
  • 如何获取 web2py 中的当前 url?

    在web2py中如何获取当前页面的完整url 我想要出现在浏览器地址栏中的 可能是重写的 url e g 生成它的最简单的方法可能是 URL args request args vars request get vars host True
  • Firebase 中的独特属性

    我有一个包含类别的 IOS 应用程序 我在 Firebase 上的存储如下所示 root Categories key color name sum Expenses key amount category date description
  • 如何在 MySQL 中执行“如果不存在则插入”?

    我首先通过谷歌搜索找到了这篇文章如何在标准 SQL 中编写 INSERT if NOT EXISTS 查询 http www xaprb com blog 2005 09 25 insert if not exists queries in
  • SQLAlchemy 没有为多列 UniqueConstraints 生成正确的 SQL 语句

    下面是我在 sqlalchemy 中尝试实现多列唯一约束时所做的两种不同尝试 这两种尝试似乎都失败了 因为没有生成正确的 SQL 语句 尝试 from sqlalchemy import Column Integer String Text
  • Neo4j 2.0 唯一约束错误“节点已存在”,当它不存在时

    我在 Neo4j 唯一约束方面遇到了一些麻烦 其中 CREATE cypher 语句由于节点已经存在而无法执行 问题是 它不 存在 此外 昨天使用这些确切数据的精确流程也有效 我的neo4j版本是ubuntu 12 04 3上的commun

随机推荐

  • 设置电子邮件正文 HTML 格式

    我将如何让正文以 HTML 格式工作 我需要添加什么以及我需要添加哪一行 我试过 MailMessage IsBodyHtml true 但这对我不起作用 这是这样做的方法吗 该代码应该替换另一行还是应该单独占一行 using System
  • 有没有简单的方法可以在 C# 中创建方法并动态设置其主体?

    我将方法体保存在字符串中 我想动态创建方法 但我不知道 如何设置它的身体 我看到使用 CodeDom 的方式非常乏味 我看到使用 Emit 和操作码 有什么方法可以使用字符串变量中的现成代码吗 string method body retu
  • 使用 $ 和字符值动态选择数据框列

    我有一个由不同列名组成的向量 我希望能够循环每个列名以从 data frame 中提取该列 例如 考虑数据集mtcars以及一些存储在字符向量中的变量名称cols 当我尝试从中选择一个变量时mtcars使用动态子集cols 这些工作都不是
  • 主窗口关闭时 QWidget 不会关闭

    我正在尝试创建一个主窗口 QWidget 当单击按钮时它会打开一个新的 QWidget 但是当我关闭主窗口时 最近打开的 QWidget 不会关闭 main cpp QApplication a argc argv MainWindow w
  • 有没有 recaptcha v2 关闭事件?

    我用这样的代码渲染 grecaptcha let callback const p new Promise resolve gt callback result gt resolve result grecaptcha render el
  • 使用 SQL Server CTE 扁平化层次结构系列

    寻找 SQL Server CTE 示例来创建层次结构 以便我可以输出所有系列 例如展平每个层次结构 例如 在家谱中 如果根从祖父母开始 我需要每个家庭成员的层次结构列表 其中包含成员详细信息 父母的行详细信息 喜欢 child1 row
  • 模型绑定下拉选择值

    我有一个模型 该模型有一个public List
  • 使用 Python 捕获 Mac OS X 系统音频输出

    我一直在尝试使用 劫持 Mac OS X 系统音频PyAudio http people csail mit edu hubert pyaudio 并在Python中保存为wav 也就是说 我不想从麦克风等输入设备进行录制 我想获取任何或所
  • 如何防止 Visual Studio 或 Docker 更改主机端口号?

    我已经对我的 Web 应用程序进行了 Docker 化 并且可以在 Visual Studio 中运行它 但是 它选择使用的主机端口号并不一致 在哪里将其配置为始终使用相同的端口号 我发现我可以通过编辑来做到这一点launchSetting
  • GC.Collect()

    好吧 我已经读过几个有关它的主题 但就这样吧 假设我有一个应用程序 基本上我会时不时地单击一个按钮 几分钟内会发生很多事情 然后它可能会再空闲一个小时 或者可能只是一分钟 在这一切结束之后 调用 GC Collect 不是一个很好的情况吗
  • Java EE、EJB 文件处理

    我正在开发一个网络应用程序 允许用户上传图片 然后系统将为他们生成拇指 我的问题依赖于这样一个事实 EJB 可以分布在多个服务器上 因此不允许直接处理文件 我可以将图像存储在数据库中 但我希望将它们作为文件存储在其中一台服务器中 我怎样才能
  • 将 Primefaces Jar 3.3 替换为 4.0 后,primefaces 计划事件颜色不起作用

    我使用 primefaces 4 0 并尝试更改 Primefaces Lazy Schedule 中事件的颜色 因此我有以下 xhtml 代码
  • JavaScript:扩展 Array.prototype 有什么危险?

    谷歌 JavaScript 风格指南建议不要延长Array prototype https google github io styleguide jsguide html disallowed features modifying bui
  • libgdal.so.20 问题 centos rgdal

    有人可以帮我理解 rgdal 的问题是什么吗 我为centos 6 64位安装了gdal 2 但没有成功安装rgdal 我试图找出问题所在 但在互联网上没有找到任何有用的信息 这是 Rstudio 服务器控制台 install packag
  • 获取异常实例类名

    我想知道这种情况下的异常实例是什么 try some risky actions catch Exception e System out println Get instance name there 我怎样才能实现这个目标 干得好 tr
  • Angular 10:无法编写参考

    我尝试按照 Angular 更新指南从 Angular 8 升级到 Angular 10 我的项目由核心应用程序 共享 2 个库 谷歌地图和共享组件 和一个额外的 apk fsm 2 个库 应用程序及其元数据 组成 核心和共享的构建正在通过
  • 对树数据进行分组、聚合和求和的最佳方法是什么?

    给定一个自引用表 Item Id pk ParentId fk 具有关联值的相关表 ItemValue ItemId fk Amount 和一些样本数据 Item ItemValues Id ParentId ItemId Amount 1
  • 提交某种类型的模型后运行函数

    我想在实例时运行一个函数Post模型已承诺 我想运行它any他们提交的时间 所以我不想在任何地方显式调用该函数 我怎样才能做到这一点 def notify subscribers post send email to subscribers
  • 在 oracle 树查询中连接其他表

    给定一个简单的 id description 表t1 比如 id description 1 Alice 2 Bob 3 Carol 4 David 5 Erica 6 Fred 以及一个父子关系表t2 比如 parent child 1
  • web2py 的多列唯一约束

    可以将特定列标记为 unique true 在 web2py 中处理多列唯一约束的最正确方法是什么 例如 假设我有一个汇率表 它可以包含 来源货币 目标货币 和 汇率 列 两行具有相同的来源和目的地货币是没有意义的 使 from to 组合