python - 如何根据选择设置模型字段数据类型?
问题描述
在我的模型中,我想根据选择值设置选项值。我怎样才能做到这一点或任何其他解决方案?
class MyModel(models.Model):
title = models.ForeignKey(Title, on_delete=models.CASCADE)
option_name = models.CharField(max_length=200)
option_value_choices = [
(1, "models.BooleanField"),
(2, "models.DateField"),
(3, "models.IntegerField"),
(4, "models.CharFIeld")
]
option_value_type = models.IntegerField(choices=option_value_choices)
option_value = .. ?
解决方案
我认为这是不可能的。
但是您可以使用可为空选项添加四个字段(每个模型字段一个):
例子:
boolean_option_value = models.BooleanField(null=True)
integer_option_value = models.IntegerField(null=True)
date_option_value = models.DateField(null=True)
char_option_value = models.CharField(null=True)
因此,在您的有效负载中,将所有四个字段都发送为空。
并且根据option_value_type
字段,您可以填写相应的字段。
推荐阅读
- python-3.x - 文本文件中每行的总字数
- r - 在 R 中从循环更改为函数 lapply
- maven - Maven 中的 java.lang.ClassNotFoundException
- typescript - TypeScript 函数不从超级接口推断泛型参数
- asp.net-core - 反序列化列表
带有使用 json.net 的字符串支持字段 - excel - 统计一个范围内的记录数,匹配另一个范围,满足多个条件
- eclipse - 为什么我不能在 Eclipse 中使用 org.apache.commons.math3?
- javascript - 如何在 NodeJS 的父函数范围内返回 SQL 结果?
- node.js - 续集自动更新更新错误
- wordpress - 按钮中的图库视频和播放器类别