【问题标题】:How to have django model utils Choices handle lowercase and uppercase如何让 django model utils Choices 处理小写和大写
【发布时间】:2023-04-07 11:14:01
【问题描述】:

如何在添加带有小写选项的属性时使用大写字符

这是我使用 Clover 的有效载荷大写,但我想知道如何使用 model_utils Choices 同时让大​​写和小写 Clover 工作

           "name": "Test",
           "pos_name": "Clover",

class Tenant(TimeStampedModel):
    POS = Choices('square', 'clover', 'omnivore')


    pos_name = models.CharField(choices=POS, max_length=50, blank=True, default='')
    name = models.CharField(max_length=100)

【问题讨论】:

    标签: python django django-models django-rest-framework


    【解决方案1】:

    也许通过覆盖模型的 __setattr__?

    def __setattr__(self, attr, value):
        if attr == "pos_name":
            value = value.lower()
        super().__setattr__(attr, value)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      • 2015-04-03
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      • 1970-01-01
      • 2022-10-12
      相关资源
      最近更新 更多