gpt4 book ai didi

python - Django 模型计算属性

转载 作者:行者123 更新时间:2023-12-01 05:41:49 24 4
gpt4 key购买 nike

我有一个工作申请模型,有 3 个状态。

已接受:明确接受
拒绝:明确拒绝
待定:既没有明确接受也没有拒绝

为我的模型定义一个accepted和一个rejected字段对我来说是有意义的,这样我就可以显式地设置它们。但是 pending 属性是基于其他两个属性的条件...因此为其设置属性没有意义。

我可以为其编写一个方法,例如 job.pending() ,它返回一个 bool 值,该 bool 值只是(不接受)和(不拒绝)。但是有什么方法可以在不编写方法的情况下执行 job.pending 吗?

只是好奇……

最佳答案

您可以重写 save() 方法来执行类似的操作,以便每次更改作业模型时它都会重新计算待处理。尽管我同意 pending() 方法也不错。

class Job(models.Model):
accepted = ...
reject = ...
pending = ... (Boolean Fields)

def save(self, *args, **kwargs):
self.pending = (not self.accepted) and (not self.rejected)
super(Job, self).save(*args, **kwargs) # Call the "real" save() method.

https://docs.djangoproject.com/en/dev/topics/db/models/#overriding-predefined-model-methods

关于python - Django 模型计算属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17346209/

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