我有一个包含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'),
)