makemigrations 在 Django 1.9 中因 django_enumfield 失败
makemigrations failing with django_enumfield in Django 1.9
我刚刚将我的 Bitnami Django VM 从 1.8.9 更新到 1.9.7。升级前一切正常,但现在当我 运行 makemigrations 时出现以下错误:
TypeError: Couldn't reconstruct field role on rapid.GeoViewRole: __init__() takes at least 2 arguments (1 given)
这里是相关的classes/imports:
from django_enumfield import enum
class Role(enum.Enum):
VIEWER = 0
EDITOR = 1
OWNER = 2
labels = {
VIEWER: 'Viewer',
EDITOR: 'Editor',
OWNER: 'Owner'
}
class GeoViewRole(models.Model):
token = models.ForeignKey(ApiToken)
role = enum.EnumField(Role)
geo_view = models.ForeignKey(GeoView)
objects = models.GeoManager()
我不明白为什么升级后会出现此错误。
对我来说是 django-enumfield 的版本。我有
django-enumfield==1.2.1
迁移在我删除并安装后有效
django_enumfield==1.3b2
我刚刚将我的 Bitnami Django VM 从 1.8.9 更新到 1.9.7。升级前一切正常,但现在当我 运行 makemigrations 时出现以下错误:
TypeError: Couldn't reconstruct field role on rapid.GeoViewRole: __init__() takes at least 2 arguments (1 given)
这里是相关的classes/imports:
from django_enumfield import enum
class Role(enum.Enum):
VIEWER = 0
EDITOR = 1
OWNER = 2
labels = {
VIEWER: 'Viewer',
EDITOR: 'Editor',
OWNER: 'Owner'
}
class GeoViewRole(models.Model):
token = models.ForeignKey(ApiToken)
role = enum.EnumField(Role)
geo_view = models.ForeignKey(GeoView)
objects = models.GeoManager()
我不明白为什么升级后会出现此错误。
对我来说是 django-enumfield 的版本。我有
django-enumfield==1.2.1
迁移在我删除并安装后有效
django_enumfield==1.3b2