如何使用ForeignKey对字段求和?

2024-04-27 02:21:30 发布

您现在位置:Python中文网/ 问答频道 /正文

专家与choosen员工填写空白列表
5名专家,将有5份空白名单。如何计算五张空白清单的总和

型号.py

ANSWER_TYPES = (
    (0, 0),
    (1, 1),
    )

class Expert(models.Model):
    expertname = models.CharField(max_length=200, null=True)
    position = models.CharField(max_length=200, null=True)

class Employee(models.Model):
    employeename = models.CharField(max_length=200, null=True)
    position = models.CharField(max_length=200, null=True)

class Blank_list(models.Model):
    expert_name = models.ForeignKey(Expert, null=True, on_delete=models.SET_NULL)
    employee_name = models.ForeignKey(Employee, null=True, on_delete=models.SET_NULL)
    lvl_1 = models.IntegerField('Indicator1:1', choices=ANSWER_TYPES, blank=0)
    lvl_2 = models.IntegerField('Indicator1:2', choices=ANSWER_TYPES, blank=0)
    lvl_3 = models.IntegerField('Indicator1:3', choices=ANSWER_TYPES, blank=0)

class EmployeeCard(models.Model):
    blank_list = models.ManyToManyField(Blank_list, null=True, ) #there is a list of Blank_list
    #don't know if blank_list a correct field?
    employee_name = models.ForeignKey(Employee, null=True, on_delete=models.SET_NULL)
    sum_of_all_blank_list = ...

1条回答
网友
1楼 · 发布于 2024-04-27 02:21:30
class Employee(models.Model):
    employeename = models.CharField(max_length=200, null=True)
    position = models.CharField(max_length=200, null=True)

    def blank_list_count(self):
        return Blank_list.objects.filter(employeename = self).count()

然后,您可以使用空白列表计数作为员工视图上的字段

相关问题 更多 >