场景:
我的模型“问题”中有一个名为“编辑器”的字段,如下所示:
CHOICE_LIST = (('0', 'Undefined'), ('staffGroup', 'staffGroup'), ('staffGroup02', 'staffGroup02'), ('staffGroup03', 'staffGroup03'), ('staffGroup04', 'staffGroup04'), ('staffGroup05', 'staffGroup05'),)
editor = models.CharField(max_length=350, default=0, choices=CHOICE_LIST, verbose_name='Responsibility')
编辑器字段有一个选项列表,我从用户组的名称中手动定义。在
问题:
re1:您可以使用一个返回所有组的callable。示例:
您仍然需要将其转换为一个元组('short-name','human readable name')
如果要在元组中使用与短名称和人类可读名称相同的全名,可以执行以下操作:
^{pr2}$然后在“选择”字段中使用相同的
^{3}$回复2:你可以过滤你的查询
意味着你仍然可以做到这一点
Re3:上面提到的可调用技术是静态的还是动态的,正如您编写的那样;当您进行迁移时,将对该函数进行求值,并将这些值作为选项添加到迁移文件中。但是,围绕此模型编写的任何序列化程序或表单都会一次又一次地评估选择。在
参考号:https://zindilis.com/blog/2017/05/04/django-backend-validation-of-choices.html
相关问题 更多 >
编程相关推荐