当嵌套在ArrayField中时,从Django的ChoiceField获取人类可读的值

2024-06-11 21:47:50 发布

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

为了获得带有选项的字段的可读值,Django提供了^{}方法。在

当字段在ArrayField中时,如何获得人类可读的值?在

例如:foo_array = models.ArrayField(models.CharField(choices=choices))


Tags: django方法foomodels选项人类arraychoices
1条回答
网友
1楼 · 发布于 2024-06-11 21:47:50

由于ArrayField没有选择,因此模型不会自动获取方法,但您可以始终手动实现它。在

class MyModel(models.Model):
    foo_array = models.ArrayField(models.CharField(choices=choices))

    def get_foo_array_display(self):
        values = self.foo_array
        return [force_text(dict(self.foo_array.flatchoices).get(value, value), strings_only=True) 
                for value in values]

相关问题 更多 >