2

makemigrations を実行してみましたが、移行後に、常に次のエラーが発生します。

ValueError: Related model 'users.UserProfile' cannot be resolved

私がやろうとしていたのは、UserProfileモデルを Django 自身のユーザーモデルにリンクすることです。

from django.db import models
from django.contrib.auth.models import User

class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    website = models.URLField(blank=True)
    bio = models.CharField(max_length=250, blank=True)
    full_name = models.CharField(max_length=250, blank=True)

コンテスト」モデル (以下のインストール済みアプリで確認できるように) は、ユーザー モデルもエラーなしで使用します。

インストール済みのアプリは次のようになります。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'users',
    'social.apps.django_app.default',
    'crispy_forms',
    'pages',
    'contests',
]

私の移行ファイル0001_initial.pyは次のとおりです。

# -*- coding: utf-8 -*-
# Generated by Django 1.10.3 on 2016-12-30 15:45
from __future__ import unicode_literals

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='UserProfile',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('website', models.URLField(blank=True)),
                ('bio', models.CharField(blank=True, max_length=250)),
                ('full_name', models.CharField(blank=True, max_length=250)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]

その他の注意事項:

  1. 複数の設定ファイルを使用していますが、インストールしたアプリはすべて基本設定ファイルにあるため、これは問題になりません。

  2. Python Social Auth を使用してパイプラインを作成し、UserProfile を作成しています。(ただし、これはデータベース内のモデルの作成には影響しません)

  3. データベースを削除して再作成しましたが、それでも同じエラーが発生します。

前もって感謝します!!!:)

4

4 に答える 4

14

他のアプリからすべての移行ファイルを削除し、makemigrations を実行して再度移行しました。

すべてが機能するようになりました。

于 2016-12-30T16:27:56.090 に答える