我想更改数据库表中的列名,弃用 django-graphene 中的旧字段并添加新字段。
如何或可以在我的 Django 模型中不创建两次相同的列的情况下做到这一点?在执行此操作时,我可以避免系统检查期间出现错误,但我的测试仍然会出错。
模型
class MyModel(BaseModel):
my_column = models.CharField(
max_length=255, blank=True, null=True)
mycolumn = models.CharField(
max_length=255, blank=True, null=True
db_column='my_column')
架构
class MyNode(DjangoObjectType):
mycolumn = String(deprecation_reason='Deprecated')
设置
SILENCED_SYSTEM_CHECKS = ['models.E007']
但是,这可行,现在我尝试在创建示例MyModel
工厂实例的地方运行测试。
class TestMyModel(TestModelBase):
def setUp(self):
self.my_model = MyModel(my_model_nm='Some model')
当然,这会引发异常。
django.db.utils.ProgrammingError: column "my_column" specified more than once
我似乎正在处理这个错误。如何更改 django-graphene 中的字段名称,弃用旧名称并让新字段引用表中的同一列?
石墨烯==1.2
石墨烯-django==1.2.1
graphql-core==1.0.1