gpt4 book ai didi

python - 如何将 Django 模型字段选择字符串转换为值

转载 作者:太空宇宙 更新时间:2023-11-04 03:31:33 31 4
gpt4 key购买 nike

假设,我有以下 Django 模型:

class myModel(models.Model):
C = "myC"
D = "myD"

A = models.CharField(max_length=254, null=False, blank=False,)
B = models.CharField(
max_length=254,
null=False,
blank=False,
choices=((C, "C"), (D, "D")),
)

def set_B(self, choice_val):
self.B = #WHAT GOES HERE??
self.save()

现在假设我创建了一个类型为 myModel 的对象 X。然后我调用 X.set_B("D")。我希望 myModel 的 set_B() 方法将 B 的值设置为 myModel.D。我怎样才能做到这一点?我必须在 set_B() 中放入什么代码才能将人类可读值“D”转换为 myModel.D

最佳答案

您可以简单地使用getattr 函数。

class myModel(models.Model):

A = models.CharField(max_length=254, null=False, blank=False,)
B = models.CharField(
max_length=254,
null=False,
blank=False,
choices=((C, "C"), (D, "D")),
)
C = #Something
D = #Something

def set_B(self, choice_val):
self.B = getattr(self,choice_val)
self.save()

getattr 函数将返回 choice_val 属性的值。

关于python - 如何将 Django 模型字段选择字符串转换为值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30961005/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com