エラー: blog.Post.author:(fields.E301)フィールドはモデル 'authとのリレーションを定義します。 User 'がスワップアウトされています。 ヒント:リレーションを 'settings.AUTH_USER_MODEL'を指すように更新します。(fields.E301)フィールドは、スワップアウトされたモデル 'auth.User'とのリレーションを定義します。
私は設定を入れ替える必要があることを知っています。auth.UserのAUTH.USERのためのAUTH_MODELですが、何らかの理由でこれを行うとブログが表示されません。ナビゲーションバーからブログを表示しようとするとルーティングが正しく行われますが、コンテンツはもうありません。私もDjangoの管理者にログインしたり、新しいユーザーを作成することはできません。これらの問題は、アカウントの設定でAUTH_USER_MODELを設定することで発生し始めました。
ブログ/ models.py
from django.db import models
from django.utils import timezone
from fitness_project import settings
class Post(models.Model):
author = models.ForeignKey('auth.User', related_name='User')
#author = models.ForeignKey(settings.AUTH_USER_MODEL)
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(
default=timezone.now)
published_date = models.DateTimeField(
blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return self.title
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'hello',
'blog',
'membership',
'accounts',
'django_forms_bootstrap',
]
AUTH_USER_MODEL = 'accounts.User'
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'accounts.backends.EmailAuth',
)
ブログ/ admin.py
from django.contrib import admin
from .models import Post
admin.site.register(Post)