Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django设置字段的手动算术公式_Python_Django_Django Models - Fatal编程技术网

Python Django设置字段的手动算术公式

Python Django设置字段的手动算术公式,python,django,django-models,Python,Django,Django Models,我想在模型中设置一个字段的手动算术公式,该公式在模型的对象之间变化,由某个用户设置,并根据外部模型名称进行设置 例如: model B: name =char model A: field 1 = int field 2 = int field 3 = foreign(model B) field 4 = set formula 在模型A的对象1中,如果管理员门户中的字段3=“x”,则管理员会设置字段4=field1+field2 在模型A的对象2中,如果 来自管理门户的字段3=“

我想在模型中设置一个字段的手动算术公式,该公式在模型的对象之间变化,由某个用户设置,并根据外部模型名称进行设置

例如:

model B:
name =char

model A:  
field 1 = int  
field 2 = int 
field 3 = foreign(model B)
field 4 = set formula
在模型A的对象1中,如果管理员门户中的字段3=“x”,则管理员会设置字段4=field1+field2

在模型A的对象2中,如果 来自管理门户的字段3=“y”

在Django这可能吗

实际上,我正在尝试将excel工作表数据转换为Django应用程序,在给定选项卡(此处为模型a)的excel工作表中,我将有一些固定列(此处为模型B),但有一列我将根据选项卡名称设置列的算术公式。 现在,在基于模型A名称的Django应用程序中,我需要能够为模型B设置一个公式


最好的方法是什么?

Django是否提供内置函数来实现这一点?没有

你能定制Django来实现这一点吗?对

import operator
operator_map = {"+": operator.add, "-":operator.sub...}
class ModelB:
    _operator <- while will store a raw operator
    @property
    def operator(self):
        return operator_map[self._operator]

嘿,我把我的问题修改了一下。你现在能回答吗?我相应地修改了答案
class Model
    @property
    def field4(self):
        return self.field3.operator(self.field1, self.field2)