如何根据选择设置模型字段数据类型?



在我的模型中,我想根据选择值设置选项值。我该怎么做呢?还有其他的解决方案吗?

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字段填写相应的字段。

最新更新