问题标签 [computed-field]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.x - 如何在 odoo 12 中添加与销售订单相关的 res.partner 中的计算字段
我在res.partner
模型中,我添加了这个:
为了得到我在客户已经完成的每个销售订单上计算的点,但我得到一个错误
calculated-columns - 尝试编写一个简单的计算列表达式(IF 语句)
我的表中有一个名为“BanquetPrize”的列和另一个名为“PrizeWinner”的列。如果“BanquetPrize”字段为NOT NULL
,我希望“PrizeWinner”字段自动填写“YES”,如果是IS NULL
,则应为“NO”。(坚持)
我对 SQL 非常陌生,并且来自表达式本来应该是的 DBF 表:
但我不知道如何用 SQL 编写它。我试过的:
显然这两种语法都是错误的,所以我希望有人能教我正确的写法吗?
keyerror - Odoo 开发中何时、为什么以及如何避免 KeyError
我注意到我开发的一些自定义模块可以安装在有记录的数据库上,而另一些则抛出 KeyError 消息,除非数据库为空(无记录)。通常,当模块包含计算字段时会出现错误。那么,有人知道为什么会这样吗?以及我的代码应该如何避免这种错误?抛出此错误的示例计算字段如下所示:
filtering - 在 Odoo 11 CE 中,如何根据相关模型的值过滤从计算字段返回的记录?
在 Odoo V11 CE 中,我试图弄清楚如何从 hr.payslip.line 中获取 'amount' 字段,其中 'code' = "NET" 并在父 hr.payslip 的表单视图中显示该字段。
hr.payslip 通过相关字段“slip_id”与 hr.payslip.line 具有 One2many 关系。在我的情况下,每张工资单都有多条工资单行,但只有其中一行有“代码”“NET”。
这是我到目前为止的代码:
我认为它正在工作,但后来我意识到它没有从 hr.payslip.line 表中正确的“code = NET”行中获取“金额”值。无论我在看哪个工资单,“net_pay”值都是从同一行返回的,大致位于表格的中间。
我认为“self.env”意味着只考虑通过“slip_id”相关的记录,但似乎我不明白它的实际作用。
如何使计算字段查找具有代码“NET”且具有与父工资单的 id 匹配的 slip_id 的行?
firebird - 服务器端的 Firebird 计算(计算)字段
一般的 SQL 和开发新手,我有一个包含字段(INDEX、NAME、POPULATION、AREA)的表(COUNTRIES)通常我添加一个客户端(Delphi)计算字段(DENSITY)和 OnCalcField:
尝试更改为 Firebird 计算字段以在服务器端完成所有计算,我创建了一个名为密度的字段,并在 IBEXPERT“计算源”列中:
一切正常,但是当 Record.AREA = 0 我有除以零错误。
我的问题是如何避免这种情况,例如使用 IF THEN 条件来避免在除数为 0 时计算字段或在这种情况下使结果 = 0。
我的环境:Delphi RIO、Firebird 3.0、IBExpert
postgresql - GraphQL:添加计算字段时出现过载函数错误
我正在尝试使用 hasura API 在模式“abc”中将计算字段添加到我的 graphql 表“用户”,但收到以下错误:
该功能已正确添加:
id 字段存在于用户表中。
我可以从下拉列表中选择函数“get_accounts”,但在添加计算字段时出现错误。任何指导表示赞赏。谢谢你。
odoo - 通过 Studio 添加的新模型导致计算字段上出现 KeyError
【Odoo v13 云版】
我通过 Studio 添加了一个新模型:crm.lead.activities
. 在该模型中,我有一个计算字段x_name
:
依赖关系:x_res_id、x_date、x_activity_type_id
计算:
x_res_id
是一个many2one字段crm.lead
但是当我尝试(卸载)安装一个模块时,我得到一个 KeyError。我能做些什么来解决这个问题?
sql - 在不删除表/列的情况下将现有列更改为 Computed 和 Persisted
我想将 SQL Server 中的现有列更改为计算并保留而不删除表/列。
我有一个自动递增的ID
列和另一个ReportID
用这个计算格式化的列:
例如:
- 对于 ID = 1, 2, ...., 10, 11, ..., 100, 101
- ReportID 将是
RPT2122000001
,RPT2122000002
,...,RPT2122000010
,RPT2122000011
, ...,RPT2122000101
,RPT2122000102
以前,我们在“插入后”触发器中执行此操作 - 计算值并更新行。但是通过这样做,当负载很高并且报告由不同的用户并行生成时,一些 ReportID 会被复制。
因此,为了解决这个问题,我想将现有列更改为计算列,'RPT'+{FiscalYear}+{0s}+{Auto Incremented ID}
但问题是我希望现有数据保持不变。因为如果现在运行计算,所有上一年的数据都将被修改为当前财政年度,这是错误的。
当我通过在 Management Studio 中设置计算值直接尝试时,它也在内部运行 drop 并在后台重新添加。
我看到了很多答案,但他们还不够满意。
我尝试使用计算值创建一个新列,然后尝试重命名,这也是不允许的。
编辑 1
错误:
编辑 2
财政年度计算:
另外,有没有不创建新列的方法?
django - Django:错误实现 ComputedTextField(无法在没有主键的情况下强制更新 save())
这个想法
为了使代码更易于理解,我将首先解释我的代码(问题可能来自于此)应该做什么:我将报告保存在我的模型中。我给这些报告自己的 ID 或编号,因为这是绝对必要的。这个 ID 的结构如下:
示例:2021001、2021002、...、2022001
编码
为此,我开发了以下模型。由于要自动计算该值,因此我使用 @property 装饰器。为了以后能够更轻松地将 ID(名称:einsatznummer)用作字段并且仅用于我的 REST Api,我使用了computed_property包。
当我尝试添加新记录时,出现以下错误:
我认为错误是因为我错误地实现了ComputedTextField
s 。该文档说明了以下内容:
笔记
请务必注意,您的计算域数据不会立即写入数据库。您必须(重新)保存数据的所有实例,才能在数据库中填充计算字段。在您这样做之前,您将能够在加载模型实例时访问这些字段,但您不会从它们的可查询性中受益。
您可以做到这一点的一种方法是在数据迁移中,使用类似的东西:
例如在 MyModel.objects.all().iterator(): instance.save()
我根据文档进行设置的尝试是首先创建一个空迁移,然后在实例中通过
migrations.RunPython(save_func),
保存它。由于这只会导致错误,因此我尝试将其包含在模型的 save() 函数中。然而,这显然是错误的。有谁知道如何正确保存实例?