django - 从 ExtractQuarter 中获取价值
问题描述
我有一个 Django 模型。填充此模型的表单完成后,我希望我的保存功能在用户输入的字段之一上使用新的 ExtractQuarter 数据库功能。根据 ExtractQuarter 生成的值,我想填充另一个对表单用户隐藏的字段。
但是,我无法弄清楚如何从 ExtractQuarter 中实际获取值。
保存功能是:
def save(self, *args, **kwargs):
q = ExtractQuarter(self.fiscal_year_end).values.get()
if q >= 3:
y = ExtractYear(self.fiscal_year_end).Value()
else:
y = ExtractYear(self.fiscal_year_end).Value()-1
self.fiscal_year = y
super(ModelName, self).save(*args, **kwargs)
这给了我:
TypeError: '>=' not supported between instances of 'ExtractQuarter' and 'int'
谢谢您的帮助。
解决方案
如果该fiscal_year_end
字段是 python 的DateTime 对象,您将获得季度,
import math
class Mymodel(models.Model):
# your fields
def save(self, *args, **kwargs):
quarter = math.ceil(self.fiscal_year_end.month / 3)
if quarter >= 3:
self.fiscal_year = self.fiscal_year_end.year
else:
self.fiscal_year = self.fiscal_year_end - 1
super(ModelName, self).save(*args, **kwargs)
推荐阅读
- javascript - 将 react-intl 与 react-table 集成
- swift - 协议类型'*'的值不能符合'*';只有结构/枚举/类类型可以符合协议
- php - 如何修改 PHP 数组键
- c++ - UWP 的 AvSetMmThreadCharacteristicsW
- visual-studio-code - 将 wsl 终端启动到与 VSCode 项目文件夹相同的路径
- excel - Excel VBA仅从特定列复制非空白行
- node.js - Express Js 路由器方法
- mysql - 如果在使用 WITH ROLLUP 时为 NULL,我的查询尝试添加 Total 时出错
- c# - C# String.Format 错误?
- python - 尝试在 excel 中读取工作表时 PyCharm 给出 valueerror