0
私のデータベースのテーブルの列名を変更したい、django-grapheneの古いフィールドを非難し、新しいフィールドを追加したい。django-graphene列名の廃止を変更
Djangoモデルで同じ列を2回作成しなくても、これをどうやって行うことができますか?これを実行中にシステムチェック中にエラーを回避することはできますが、テストではエラーが発生します。
class MyNode(DjangoObjectType):
mycolumn = String(deprecation_reason='Deprecated')
設定
SILENCED_SYSTEM_CHECKS = ['models.E007']
この作品
モデル
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')
スキーマは、しかし、今、私はサンプル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コア== 1.0.1
Djangoモデルのフィールド名を変更しようとしていますか、グラフェンAPIだけ、あるいはその両方ですか? –
どちらも理想的ですが、具体的にはAPIにあります。 – duffn
モデルの列変更のマイグレーションを作成して名前を変更しようとしましたか? https://docs.djangoproject.com/en/2.0/topics/migrations/ –