我有一個模型,object_type其中的選項應該是數字,而人類可讀的字串如下所示:
OBJECT_TYPES = (
(0, "analog-input"),
(1, "analog-output"),
(2, "analog-value")
)
class MyModel(models.Model):
object_type = models.CharField(
max_length=20,
choices=OBJECT_TYPES,
blank=True,
null=True
)
然而,當我嘗試創建一個物件,并指定一個整數值OBJECT_TYPE我得到ValidationError的是object_type不是一個有效的選擇,我不明白如何正確地配置它。我試過CharField,TextField和IntegerField.
obj = MyModel.objects.create(object_type=2)
obj.full_clean()
ValidationError: {'object_type': ["Value '2' is not a valid choice."]}
uj5u.com熱心網友回復:
因為這是 a CharField,所以鍵應該是字串,所以'0',不是0:
OBJECT_TYPES = (
('0', "analog-input"),
('1', "analog-output"),
('2', "analog-value")
)
另一種方法是使用IntegerField:
OBJECT_TYPES = (
(0, "analog-input"),
(1, "analog-output"),
(2, "analog-value")
)
class MyModel(models.Model):
object_type = models.IntegerField(
choices=OBJECT_TYPES,
blank=True,
null=True
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/404788.html
標籤:
上一篇:H5應用轉換快應用
