我对其余框架和一个枚举字段有问题。我收到这个错误:
File "/usr/local/lib/python2.7/dist-packages/coreapi/codecs/corejson.py", line 48, in decode_schema_from_corejson
return schema_cls(title=title, description=description)
TypeError: __init__() takes exactly 2 arguments (1 given)
当模型有此字段时:
class PuddleAtomStatus(ChoiceEnum):
INVALID = "INVALID"
OK = "OK"
class PuddleAtom(Model):
name = models.CharField(max_length=255, primary_key=True)
ingestion_flow = models.CharField(max_length=256)
status = EnumChoiceField(enm_class=PuddleAtomStaus)
但
时一切都很好status = models.CharField(max_length=100)
我正在使用Django 1.11和python 2.7
有没有办法解决这个问题并让模型留下枚举字段?
答案 0 :(得分:0)
在高级别,我可以说这就像DRF一样简单,不知道这个特殊的EnumField是什么。因此,您可能需要编写自己的序列化程序。
答案 1 :(得分:0)
我建议这样做:
class PuddleAtom(Model):
STATUS_CHOICES = (
('INVALID', 'INVALID'),
('OK', 'OK'),
)
name = models.CharField(max_length=255, primary_key=True)
ingestion_flow = models.CharField(max_length=256)
status = models.CharField(max_length=100, choices=STATUS_CHOICES)
我希望这会有所帮助。 这是相应的documentation