如何根据其他模型字段值设置动态选择元组

时间:2019-09-02 10:42:31

标签: python django django-models

我有一个包含2个字段的模型:

  • 一个ManyToMany字段,其中包含许多可以批准任务的用户(approvers);和
  • 一个IntegerField,其中包含一个选择元组以返回任务的当前步骤(step)。
    class Task(models.Model):
        approvers = models.ManyToManyField(
            get_user_model(),
            through='TaskStep'
        )
        step = IntegerField(
            choices=STEP_CHOICES
        )

我希望允许用户定义批准者的数量,但还要为approver中的每个step动态创建一个选择。

如何以编程方式在元组中定义选择以覆盖ManyToMany字段中的用户数量?

例如,如果有3个批准者,结果将是:

    STATUS_CHOICES = (
        (1, 'Step 1'),
        (2, 'Step 2'),
        (3, 'Step 3'),
    )

如果有5个用户,结果将是:

    STATUS_CHOICES = (
        (1, 'Step 1'),
        (2, 'Step 2'),
        (3, 'Step 3'),
        (4, 'Step 4'),
        (5, 'Step 5'),
    )

0 个答案:

没有答案