python - Django模型:def中的总和
问题描述
如何对模型中的字段求和?
我有 2 个整数字段,如果可能的话,想把它们加到 def 中?
class Blank_list(models.Model):
expert = models.ForeignKey(Expert, null=True, on_delete=models.SET_NULL, related_name='blank_list')
employee = models.ForeignKey(Employee, null=True, on_delete=models.SET_NULL, related_name='blank_list')
c8_lvl_aw1 = models.IntegerField('К8: 1', choices=ANSWER_TYPES, default=0, blank=0)
c8_lvl_aw2 = models.IntegerField('К8: 2', choices=ANSWER_TYPES, default=0, blank=0)
def __str__(self):
return "%s произвел оценку следующего сотрудника: %s" % (self.expert, self.employee)
#that example what i'm expect
def sum_all_fields(self):
sum = c8_lvl_aw1 + c8_lvl_aw2
return sum
解决方案
目前,这两个字段具有相同的名称。您应该将两者之一重命名,例如将第二个重命名为c8_lvl_aw1
. 然后你可以总结self.c8_lvl_aw1
和self.c8_lvl_aw2
:
class Blank_list(models.Model):
expert = models.ForeignKey(Expert, null=True, on_delete=models.SET_NULL, related_name='blank_list')
employee = models.ForeignKey(Employee, null=True, on_delete=models.SET_NULL, related_name='blank_list')
c8_lvl_aw1 = models.IntegerField('К8: 1', choices=ANSWER_TYPES, default=0, blank=0)
c8_lvl_aw2 = models.IntegerField('К8: 2', choices=ANSWER_TYPES, default=0, blank=0)
def __str__(self):
return "%s произвел оценку следующего сотрудника: %s" % (self.expert, self.employee)
#that example what i'm expect
def sum_all_fields(self):
return self.c8_lvl_aw1 + self.c8_lvl_aw2
注意:通常是 Django 模型,就像 Python 中的所有类都在PerlCase中命名,而不是snake_case,所以它应该是:
BlankList
而不是.Blank_list
推荐阅读
- android - 当 dagger 不自动生成组件代码时对 gradle 文件进行故障排除
- clojure - 如何使用 Clojure CLI (tools.deps) 和 figwheel-main 设置 nREPL
- gradle - ubuntu 18 ./gradlew 命令失败
- actionscript-3 - addchild 影片剪辑出现在错误的场景中
- python - 从包含字节数据的字符串中提取字节
- c - 对于数字之间的循环计数
- google-apps-script - Google Apps 脚本:InsertImage() 函数不起作用
- if-statement - Lua 5.2.4:如果语句语法错误,我找不到我的代码有什么问题
- php - 如何过滤 php 对象数组?
- c# - 如何从两个不同的表中检索数据并将其放入 C# 中的两个不同的组合框?