0
私はDjango 1.9、Python 3.6です。私は、このマイグレーションを行って、それらを逃したユーザーのためにUserProfilesを記入しようとしました。Djangoが移行に失敗しました - "peterson"を照会できません: "User"インスタンスである必要があります
しかし、以下のエラーが表示されます。
"user"変数がUserインスタンスのようです。
from __future__ import unicode_literals
from django.db import migrations
from django.contrib.auth.models import User
def create_missing_profiles(apps, schema_editor):
UserProfile = apps.get_model("myapp", "UserProfile")
for user in User.objects.all():
UserProfile.objects.get_or_create(user=user)
class Migration(migrations.Migration):
dependencies = [
('myapp', '0004_auto_20170721_0908'),
]
operations = [
migrations.RunPython(create_missing_profiles),
]
エラー:
ValueErrorを: "はピーターソン" を照会することはできません: "ユーザー" のインスタンスでなければなりません。私はちょうどユーザー私はのUserProfile得たのと同じ方法を取得するために必要なよう
あなたが経由してユーザーを取得する必要があります'get_model'もインポートするのではなく、 –
私はそれについて疑問に思いました。しかし、私はそれを正確にどのように呼びますか?アプリの部分には何が入りますか? (おそらく回答としてそれを提出しますか?) – Greg
'apps.get_model(" auth "、" User ")'。あなたの問題の原因ではないので、答えとして提出しませんでした。後で他の問題を引き起こす可能性があります。 –