动态创建一个F组合表达式Django的列表



我正试图在数据库中为我正在处理的项目创建一个公式字段,目前我在运算符的数字方面遇到了问题,我正试图创建一个组合表达式列表,以便在注释中添加使用它。

工作示例:

return F('field1') + F('field2')

我正在尝试动态地创建它应该返回的字段和运算符。我已经有了一个进入函数和运算符的争论列表。

如有任何帮助,我们将不胜感激。谢谢

创建一个函数,该函数将生成F():

reporter = Reporters.objects.get(name='Tintin')
reporter.stories_filed = get_your_f_function(field_list, operator_list)
reporter.save()
...
def get_your_f_function(field_list, operator_list):
# assert operator_list size is field_list size - 1, they are not empty...
main_f = F(field_list.pop(0))
for i, field in enumerate(field_list):
if operator_list[i] == '+':
main_f = main_f + F(field)
if operator_list[i] == '-':
main_f = main_f - F(field)
...
return main_f

最新更新