2017-12-31 310 views
1

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ファイルがスナップされたこれで私を助けてください!

答えて

1

お客様にはカスタムユーザーモデルがありません。組み込みのユーザーモデルにリンクするプロファイルモデルがあります。 AUTH_USER_MODELを設定する必要はありません。その設定を削除する必要があります。

+0

[OK]をまだ削除した後に、参照エラーがあります。 – vishwesh

+0

これで私を手伝ってください! – vishwesh

関連する問題