私ははpostgressデータベースを使用して、私はそれを実行したとき、私はこのエラーを取得する私の生産システムに移行を実行しています許可されていませんデータベース。一つCreativeUser間の一対多の関係を表現するのForeignKeyするDjangoのはpostgress複数の主キーがエラー
class Experience (models.Model):
title = models.CharField(max_length = 60)
company = models.CharField(max_length = 60)
city = models.CharField(max_length = 60)
start_date = models.DateField(blank=False, default=datetime.now)
end_date = models.DateField(blank=True, null=True)
description = models.CharField(max_length = 1000)
creative_user = ForeignKey(CreativeUserProfile, models.CASCADE)
最初は、(私の拡張Userモデルである)フィールドcreative_userが主キーだったが、それを変更:ここでは私が働いているモデルがあります多くの仕事経験を持つ。ここで
は前とForeignKeyの
class Migration(migrations.Migration):
dependencies = [
('website', '0003_auto_20170510_1436'),
]
operations = [
migrations.CreateModel(
name='Experience',
fields=[
('title', models.CharField(max_length=60)),
('company', models.CharField(max_length=60)),
('city', models.CharField(max_length=60)),
('startDate', models.DateField()),
('endDate', models.DateField(blank=True, null=True)),
('creative_user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='website.CreativeUserProfile')),
],
),
]
これは、経験モデルの作成を表現し、そのcreative_userがモデルの主キーだったに変更を行った後の移行です。私は、これはすべてがDEVに動作しますが、はpostgress DBに移行すると、私は複数の主キーを持っていると考えて言ったように
class Migration(migrations.Migration):
dependencies = [
('website', '0004_experience'),
]
operations = [
migrations.AddField(
model_name='experience',
name='id',
field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
preserve_default=False,
),
migrations.AlterField(
model_name='experience',
name='creative_user',
field =models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='website.CreativeUserProfile'),
),
]
:次に行った後には、ForeignKeyの移行はように見えました。私がやっている間違ったことに誰かが光を当てることはできますか?
ありがとうございました。