django inbuiltユーザーモデルを拡張したカスタムサインアップフォームを作成しようとしています。django-postmanをユーザーメッセージングに使用しています.Postmanが動作していました私はカスタムユーザーモデルを使用したときに、このLookupエラー(メッセージの作成中のみ)を表示し始めました。これを解決するためにいくつかの調査を行ったが、失敗しました。LookupError:App 'accounts'に 'user'モデルがありません--- "App '%s'に '%s'モデルがありません。"
トレースバックエラー
class MadeLookupChannel(LookupChannel):
File "C:\Users\vishw\Envs\Vishwesh2_env\lib\site-pack
ages\ajax_select\registry.py", line 104, in MadeLookupC
hannel
model = get_model(app_label, model_name)
File "C:\Users\vishw\Envs\Vishwesh2_env\lib\site-pack
ages\ajax_select\registry.py", line 123, in get_model
return apps.get_model(app_label, model_name)
File "C:\Users\vishw\Envs\Vishwesh2_env\lib\site-pack
ages\django\apps\registry.py", line 205, in get_model
return app_config.get_model(model_name, require_rea
dy=require_ready)
File "C:\Users\vishw\Envs\Vishwesh2_env\lib\site-pack
ages\django\apps\config.py", line 172, in get_model
"App '%s' doesn't have a '%s' model." % (self.label, model_name))
LookupError: App 'accounts' doesn't have a 'user' model
私もこの
AUTH_USER_MODEL = 'accounts.Profile'
を解決するために、私のsettings.pyファイルでこれを追加したが、それは
File "C:\Users\vishw\OneDrive\Documents\Projects_2\si
mple_social_clone\simplesocial\postman\apps.py", line 1
3, in ready
setup()
File "C:\Users\vishw\OneDrive\Documents\Projects_2\si
mple_social_clone\simplesocial\postman\models.py", line
57, in setup
name_user_as = getattr(settings, 'POSTMAN_NAME_USER
_AS', get_user_model().USERNAME_FIELD)
AttributeError: type object 'Profile' has no attribute
'USERNAME_FIELD'
このエラーを示しますこれは私のaccounts.models.pyここに私のプロフィールモデルは、組み込みのユーザーモデルを拡張する
from django.contrib.auth.models import User
from django.db import models
from django.contrib import auth
from django.utils import timezone
from django.dispatch import receiver
from django.db.models.signals import post_save
class Profile(models.Model):
GENDER_CHOICES=(
('M','Male'),
('F','Female'),
('O','Other')
)
BRANCH_CHOICES=(
('IT','Information Technology'),
('COMP','Computer Science')
)
QUAL_CHOICES=(
('BE','BE-Bachelor of Engineering'),
('Btech','Btech-Bachelor of Technology'),
('ME','ME-Master of Engineering'),
('Mtech','Mtech-Master of Technology')
)
user=models.OneToOneField(User,on_delete=models.CASCADE)
sex=models.CharField(max_length=5,choices=GENDER_CHOICES)
branch=models.CharField(max_length=5,choices=BRANCH_CHOICES)
mob=models.CharField(max_length=10)
highest_qual=models.CharField(max_length=15,choices=QUAL_CHOICES)
def __str__(self):
return self.user.username
@receiver(post_save,sender=User)
def update_user_profile(sender,instance,created,**kwargs):
if created:
Profile.objects.create(user=instance)
instance.profile.save()
エラーが
def setup():
"""
Deferred actions, that can not be done at import time since Django 1.7.
Normally called in AppConfig.ready().
For backwards compatibility, also called on first need.
"""
from django.contrib.auth import get_user_model
name_user_as = getattr(settings, 'POSTMAN_NAME_USER_AS', get_user_model().USERNAME_FIELD)
ORDER_BY_FIELDS.update({
'f': 'sender__' + name_user_as, # as 'from'
't': 'recipient__' + name_user_as, # as 'to'
's': 'subject', # as 'subject'
'd': 'sent_at', # as 'date'
})
をoccuringたところ、これはpostman.models.pyファイルがスナップされたこれで私を助けてください!
[OK]をまだ削除した後に、参照エラーがあります。 – vishwesh
これで私を手伝ってください! – vishwesh