我已经实现了django fsm的FSMKeyFieldas documented:
class ClaimState(models.Model):
id = models.CharField(primary_key=True, max_length=50)
label = models.CharField(max_length=255)
def __str__(self):
return self.label
并通过fixture将states填充到ClaimState模型中,并使用来自另一个模型的FSMKeyField指针:
^{pr2}$外键在Django shell中工作正常-我可以:
^{3}$没问题。但是,当我试图从Django管理员或我自己的表单保存索赔时,我得到了一个错误:
claim state instance with id <ClaimState: Rejected> does not exist.
如果我查看source,我可以看到下拉列表的值是PKs,所以不清楚它为什么把整个对象当作ID来对待
不知道是什么原因造成的还是最好的解决方法?在
我今天遇到了同样的问题,并通过为模型的admin指定一个自定义表单并重写
state
属性的clean函数来解决它。在在您的情况下,这可能看起来像:
相关问题 更多 >
编程相关推荐