Skip to main content
 首页 » 编程设计

python之如何让 django model utils Choices 处理小写和大写

2024年11月01日40powertoolsteam

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

这是我使用 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) 

请您参考如下方法:

也许通过覆盖模型的 __setattr__?

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