django - 我的 django 模型字段如何从默认定义的函数中获取值
问题描述
有这个模型:
class Settings(models.Model):
INT = "int"
FLOAT = "float"
STRING = "string"
JSON = "json"
BOOLEAN = "boolean"
VALUE_TYPES = (
(INT , "int"),
(FLOAT , "float"),
(STRING , "string"),
(JSON , "json"),
(BOOLEAN , "boolean"),
)
def casted_value(self):
if self.value_type == Settings.INT:
return int(self.value)
elif self.value_type == Settings.FLOAT:
return float(self.value)
elif self.value_type == Settings.STRING:
return str(self.value)
elif self.value_type == Settings.BOOLEAN:
return bool(self.value)
elif self.value_type == Settings.JSON:
return json.dumps(self.value_type)
key = models.CharField(max_length=100, null=True, blank=True)
value = models.CharField(max_length=250, null=True, blank=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
value_type = models.CharField(max_length=30, choices=VALUE_TYPES, default=casted_value)
我正在尝试value_type
根据函数赋予我的字段值casted_value
。这个概念是根据类型返回值。
当我尝试迁移时,我遇到了错误:
类型错误:casted_value() 缺少 1 个必需的位置参数:'self'
如何定义我的casted_value
函数以使value_type
字段从该函数中获取值的正确方法是什么?
解决方案
推荐阅读
- jquery - MVC 5 JQuery Validate and unobtrusive - 无法获取未定义或空引用的属性“规范化器”
- java - 如何将 WebDriver 传递给另一个类
- kubernetes - vs-kubernetes 设置为空,我在 kubernetes 插件 MAC 中看不到任何内容
- c++ - 找到从 0 到 n 的值的平方和等于 n 的最小方法数
- javascript - 从 MongoDB 数据库渲染数据以进行自动完成
- airflow - 使用airflow-fs并行复制文件
- mosquitto - 我可以在 mosquitto 中创建一个监听器,绑定到一个可能不存在的设备吗?
- spring-boot - 如何在 Spring Boot 服务的 sqlite 中创建模式?
- css - LI 元素上的文本颜色不会改变
- image - Flutter:解码PNG图像返回空值