gpt4 book ai didi

web2py - web2py的多列唯一约束

转载 作者:行者123 更新时间:2023-12-04 03:40:10 25 4
gpt4 key购买 nike

可以将特定的列标记为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_currencyto_currency的组合必须是唯一的)。

另一个选择是使用 onvalidation函数来确认两个值是不同的-这将在常规的表单验证之后但在数据库插入之前运行。

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

关于web2py - web2py的多列唯一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8054665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com