gpt4 book ai didi

django - 如何比较 CheckConstraint 中的两个字段

转载 作者:行者123 更新时间:2023-12-04 09:14:00 25 4
gpt4 key购买 nike

如果这是我的模型:

class Bid(models.Model):

amount = models.DecimalField(max_digits=11, decimal_places=2)
starting_bid = models.DecimalField(max_digits=11, decimal_places=2, null=True)
如何添加一个约束来检查金额字段是否大于或等于起始出价?
这就是我现在所拥有的:
class Meta:
constraints = [
models.CheckConstraint(check=Q(amount > starting_bid), name='amount_gte_starting_bid')
]
这当然是不正确的。谢谢!

最佳答案

使用 F() 对象来引用模型中的字段。
从这里:https://adamj.eu/tech/2020/03/10/django-check-constraints-sum-percentage-fields/

class Meta:
constraints = [
models.CheckConstraint(
check=models.Q(
amount >= models.F("starting_bid")
)
),
name="amount_gte_starting_bid",
)
]

关于django - 如何比较 CheckConstraint 中的两个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63302500/

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