データベースのテーブルの列名を変更し、django-graphene の古いフィールドを廃止し、新しいフィールドを追加したいと考えています。
Django モデルで同じ列を 2 回作成せずにこれを行うにはどうすればよいですか? これを行っている間、システムチェック中のエラーを回避できますが、テストでエラーが発生します。
モデル
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
グラフェン-ジャンゴ==1.2.1
graphql-core==1.0.1