FieldError at /registerdoctor.html Невозможно разрешить ключевое слово «email» в поле. Возможные варианты: опыт, идентификатор, номер телефона, пользователь, идентификатор_пользователя - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь создать модель «Доктор», которая имеет отношение OneToOne со встроенной моделью Джанго «Пользователь».

По какой-то причине модель Доктор не наследует объект электронной почты от пользователя илипо крайней мере, так я думаю.

Может кто-нибудь сказать мне, где моя ошибка? Спасибо!

views.py

from django.shortcuts import render,redirect
from django.contrib.auth.models import User,auth
from django.contrib import messages
from app1.models import Doctor
def HomePage(request):
    return render(request,'homepage.html')

def RegisterUser(request):
    if request.method =="POST":
        first_name = request.POST["fname"]
        last_name = request.POST["lname"]
        email_id = request.POST["mail"]
        password1 = request.POST["pass1"]
        password2 = request.POST["pass2"]
        username = request.POST["username"]

        if password1==password2:
            if User.objects.filter(email=email_id).exists():
                messages.info(request,"This Email ID is already Registered!")
                return redirect("registeruser.html")
            else:
                if User.objects.filter(username=username).exists():
                    messages.info(request,"Username taken!")
                    return redirect("registeruser.html")
                else:
                    user = User.objects.create_user(first_name=first_name,last_name=last_name,
                                                    email=email_id,password=password1,username=username)
                    user.save()
                    return redirect("/")
        else:
            messages.info(request,"Passwords Not Matching!")
            return redirect("registeruser.html")
        return redirect("/")

    else:
        return render(request,'registeruser.html')


def RegisterDoctor(request):
    if request.method =="POST":
        first_name = request.POST.get("finame")
        last_name = request.POST.get("laname")
        email = request.POST.get("emailid")
        password1 = request.POST.get("userpassword")
        password2 = request.POST.get("conpassword")
        username = request.POST.get("username")
        phone_no = request.POST.get("phno")
        exp = request.POST.get("docexp")

        if password1==password2:
            if Doctor.objects.filter(email=email).exists():
                messages.info(request,"This Email ID is already Registered!")
                return redirect("registerdoctor.html")
            else:
                if Doctor.objects.filter(username=username).exists():
                    messages.info(request,"Username taken!")
                    return redirect("registerdoctor.html")
                else:
                    user = Doctor.objects.create_user(first_name=first_name,last_name=last_name,
                                                    email=email_id,password=password1,username=username,experience=exp,phone_no=phone_no)
                    user.save()
                    return redirect("/")
        else:
            messages.info(request,"Passwords Not Matching!")
            return redirect("registerdoctor.html")
        return redirect("/")

    else:
        return render(request,'registerdoctor.html')

models.py

from django.db import models
from django.contrib.auth.models import User
# Create your models here.

class Doctor(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    phone_no = models.IntegerField()
    experience = models.IntegerField()

registerdoctor.html

{% extends 'base.html' %}

{% block content%}

{% load staticfiles %}
<link rel="stylesheet" href="{% static 'app1/doctor_signup.css' %}">
<br>
  <div class="center-it">
  <h4 class="display-4"> Doctor's Sign Up Page: <h4>
    <br>
    <br>
<form method="POST">
  {% csrf_token %}
  <label for="finame">
  <input type="text" align = "center" id = "fname" name="" placeholder=" First Name " required>
  </label>
  <br>
  <label for="laname">
  <input type="text" align ="center"  id ="lname" name="" placeholder=" Last Name" required>
  </label>
  <br>
  <label for="emailid">
    <input id="emailid" align="center" type="email" name="" placeholder=" Email address" required></br>
  </label>
  <br>
  <label for="username">
  <input type="text" id="username" name="username" placeholder="Username" required>
  </label>
  <br>
  <label for="phno">
    <input id ="phno" type="tel" name="" placeholder=" Phone No">
  </label>
  <br>
  <label align ="centre">
  Years of Experience in  Psychology
  <select name="Years" id="doc_exp" required>
    <option value="Experienced">10+</option>
    <option value="Amateur">5+</option>
    <option value="Beginner">2+</option>
  </select>
</label>
<br>
  <label for="userpassword">
  <input type="password" id ="userpassword" name="" placeholder=" Password" required></br>
</label>
  <br>
  <label for="conpassword">
  <input type="password" id = "conpassword" name="" placeholder=" Confirm Password" required>
  </label>
  <hr class="my-4">

  <input type="Submit" value="Sign Up">
    <div class="error">
      {% for message in messages %}
      <h3>{{message}}</h3>
      {% endfor %}
    </div>
  </form>
  </div>
  {% endblock %}

urls.py

from django.contrib import admin
from django.urls import path
from . import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path("",views.HomePage),
    path("registeruser.html",views.RegisterUser),
    path("registerdoctor.html",views.RegisterDoctor),
]

Ошибки

FieldError at /registerdoctor.html
Cannot resolve keyword 'email' into field. Choices are: experience, id, phone_no, user, user_id
Request Method: POST
Request URL:    http://127.0.0.1:8000/registerdoctor.html
Django Version: 2.2.6
Exception Type: FieldError
Exception Value:    
Cannot resolve keyword 'email' into field. Choices are: experience, id, phone_no, user, user_id
Exception Location: D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\sql\query.py in names_to_path, line 1420
Python Executable:  D:\Pycharm Projects\Django Course\MyEnv\Scripts\python.exe
Python Version: 3.7.4
Python Path:    
['C:\\Users\\anwes\\OneDrive\\Desktop\\Zen Django\\Zen',
 'C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32\\python37.zip',
 'C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32\\DLLs',
 'C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32\\lib',
 'C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32',
 'D:\\Pycharm Projects\\Django Course\\MyEnv',
 'D:\\Pycharm Projects\\Django Course\\MyEnv\\lib\\site-packages']
Server time:    Mon, 28 Oct 2019 17:38:05 +0000
Traceback Switch to copy-and-paste view
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\core\handlers\exception.py in inner
            response = get_response(request) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\core\handlers\base.py in _get_response
                response = self.process_exception_by_middleware(e, request) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\core\handlers\base.py in _get_response
                response = wrapped_callback(request, *callback_args, **callback_kwargs) …
▶ Local vars
C:\Users\anwes\OneDrive\Desktop\Zen Django\Zen\Zen\views.py in RegisterDoctor
            if Doctor.objects.filter(email=email).exists(): …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\manager.py in manager_method
                return getattr(self.get_queryset(), name)(*args, **kwargs) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\query.py in filter
        return self._filter_or_exclude(False, *args, **kwargs) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\query.py in _filter_or_exclude
            clone.query.add_q(Q(*args, **kwargs)) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\sql\query.py in add_q
        clause, _ = self._add_q(q_object, self.used_aliases) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\sql\query.py in _add_q
                    split_subq=split_subq, simple_col=simple_col, …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\sql\query.py in build_filter
        lookups, parts, reffed_expression = self.solve_lookup_type(arg) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\sql\query.py in solve_lookup_type
        _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta()) …
▶ Local vars
D:\Pycharm Projects\Django Course\MyEnv\lib\site-packages\django\db\models\sql\query.py in names_to_path
                                     "Choices are: %s" % (name, ", ".join(available))) …
▶ Local vars
Request information
USER
superuser

GET
No GET data

POST
Variable    Value
csrfmiddlewaretoken 
'zesEXCXAGv4J5cdNl7ZBIqvDvwNAK4g1dIOz96ZG3PbI5euxjjt8NC5BsSYfvwcu'
username    
'anwesh'
Years   
'Experienced'
FILES
No FILES data

COOKIES
Variable    Value
csrftoken   
'27fl4mnog4jninj5jAfpKqe8WKHGJ3IQGBBggQpuDoqmipAPhMJWPCO6T6SluvEj'
sessionid   
'4z1ldfw1skceivbo5592bhsh988hy6di'
META
Variable    Value
ALLUSERSPROFILE 
'C:\\ProgramData'
APPDATA 
'C:\\Users\\anwes\\AppData\\Roaming'
COMMONPROGRAMFILES  
'C:\\Program Files (x86)\\Common Files'
COMMONPROGRAMFILES(X86) 
'C:\\Program Files (x86)\\Common Files'
COMMONPROGRAMW6432  
'C:\\Program Files\\Common Files'
COMPUTERNAME    
'LAPTOP-619IKVRA'
COMSPEC 
'C:\\WINDOWS\\system32\\cmd.exe'
CONTENT_LENGTH  
'118'
CONTENT_TYPE    
'application/x-www-form-urlencoded'
CSRF_COOKIE 
'27fl4mnog4jninj5jAfpKqe8WKHGJ3IQGBBggQpuDoqmipAPhMJWPCO6T6SluvEj'
DJANGO_SETTINGS_MODULE  
'Zen.settings'
DRIVERDATA  
'C:\\Windows\\System32\\Drivers\\DriverData'
FPS_BROWSER_APP_PROFILE_STRING  
'Internet Explorer'
FPS_BROWSER_USER_PROFILE_STRING 
'Default'
GATEWAY_INTERFACE   
'CGI/1.1'
HOMEDRIVE   
'C:'
HOMEPATH    
'\\Users\\anwes'
HTTP_ACCEPT 
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3'
HTTP_ACCEPT_ENCODING    
'gzip, deflate, br'
HTTP_ACCEPT_LANGUAGE    
'en-GB,en-US;q=0.9,en;q=0.8'
HTTP_CACHE_CONTROL  
'max-age=0'
HTTP_CONNECTION 
'keep-alive'
HTTP_COOKIE 
('csrftoken=27fl4mnog4jninj5jAfpKqe8WKHGJ3IQGBBggQpuDoqmipAPhMJWPCO6T6SluvEj; '
 'sessionid=4z1ldfw1skceivbo5592bhsh988hy6di')
HTTP_HOST   
'127.0.0.1:8000'
HTTP_ORIGIN 
'http://127.0.0.1:8000'
HTTP_REFERER    
'http://127.0.0.1:8000/registerdoctor.html'
HTTP_SEC_FETCH_MODE 
'navigate'
HTTP_SEC_FETCH_SITE 
'same-origin'
HTTP_SEC_FETCH_USER 
'?1'
HTTP_UPGRADE_INSECURE_REQUESTS  
'1'
HTTP_USER_AGENT 
('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like '
 'Gecko) Chrome/78.0.3904.70 Safari/537.36')
LOCALAPPDATA    
'C:\\Users\\anwes\\AppData\\Local'
LOGONSERVER 
'\\\\LAPTOP-619IKVRA'
NUMBER_OF_PROCESSORS    
'8'
ONEDRIVE    
'C:\\Users\\anwes\\OneDrive'
ONEDRIVECONSUMER    
'C:\\Users\\anwes\\OneDrive'
OS  
'Windows_NT'
PATH    
('D:\\Pycharm Projects\\Django '
 'Course\\MyEnv\\Scripts;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program '
 'Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program '
 'Files\\Intel\\Intel(R) Management Engine '
 'Components\\DAL;%PYTHON3_SCRIPTS%;C:\\Program '
 'Files\\Git\\cmd;C:\\Users\\anwes\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\anwes\\AppData\\Local\\GitHubDesktop\\bin;C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32;C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32\\Scripts;C:\\Users\\anwes\\AppData\\Local\\Programs\\Microsoft '
 'VS Code\\bin;C:\\Users\\anwes\\AppData\\Local\\atom\\bin')
PATHEXT 
'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC'
PATH_INFO   
'/registerdoctor.html'
PROCESSOR_ARCHITECTURE  
'x86'
PROCESSOR_ARCHITEW6432  
'AMD64'
PROCESSOR_IDENTIFIER    
'Intel64 Family 6 Model 158 Stepping 10, GenuineIntel'
PROCESSOR_LEVEL 
'6'
PROCESSOR_REVISION  
'9e0a'
PROGRAMDATA 
'C:\\ProgramData'
PROGRAMFILES    
'C:\\Program Files (x86)'
PROGRAMFILES(X86)   
'C:\\Program Files (x86)'
PROGRAMW6432    
'C:\\Program Files'
PROMPT  
'(MyEnv) $P$G'
PSMODULEPATH    
('C:\\Program '
 'Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules')
PUBLIC  
'C:\\Users\\Public'
PYTHON_SCRIPTS  
'C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32\\Scripts'
QUERY_STRING    
''
REMOTE_ADDR 
'127.0.0.1'
REMOTE_HOST 
''
REQUEST_METHOD  
'POST'
RUN_MAIN    
'true'
SCRIPT_NAME 
''
SERVER_NAME 
'LAPTOP-619IKVRA'
SERVER_PORT 
'8000'
SERVER_PROTOCOL 
'HTTP/1.1'
SERVER_SOFTWARE 
'WSGIServer/0.2'
SESSIONNAME 
'Console'
SYSTEMDRIVE 
'C:'
SYSTEMROOT  
'C:\\WINDOWS'
TEMP    
'C:\\Users\\anwes\\AppData\\Local\\Temp'
TMP 
'C:\\Users\\anwes\\AppData\\Local\\Temp'
USERDOMAIN  
'LAPTOP-619IKVRA'
USERDOMAIN_ROAMINGPROFILE   
'LAPTOP-619IKVRA'
USERNAME    
'anwes'
USERPROFILE 
'C:\\Users\\anwes'
VIRTUAL_ENV 
'D:\\Pycharm Projects\\Django Course\\MyEnv'
WINDIR  
'C:\\WINDOWS'
_OLD_VIRTUAL_PATH   
('C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program '
 'Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program '
 'Files\\Intel\\Intel(R) Management Engine '
 'Components\\DAL;%PYTHON3_SCRIPTS%;C:\\Program '
 'Files\\Git\\cmd;C:\\Users\\anwes\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\anwes\\AppData\\Local\\GitHubDesktop\\bin;C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32;C:\\Users\\anwes\\AppData\\Local\\Programs\\Python\\Python37-32\\Scripts;C:\\Users\\anwes\\AppData\\Local\\Programs\\Microsoft '
 'VS Code\\bin;C:\\Users\\anwes\\AppData\\Local\\atom\\bin')
_OLD_VIRTUAL_PROMPT 
'$P$G'
wsgi.errors 
<_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
wsgi.file_wrapper   
''
wsgi.input  
<django.core.handlers.wsgi.LimitedStream object at 0x041F9B30>
wsgi.multiprocess   
False
wsgi.multithread    
True
wsgi.run_once   
False
wsgi.url_scheme 
'http'
wsgi.version    
(1, 0)
Settings
Using settings module Zen.settings
Setting Value
ABSOLUTE_URL_OVERRIDES  
{}
ADMINS  
[]
ALLOWED_HOSTS   
[]
APPEND_SLASH    
True
AUTHENTICATION_BACKENDS 
['django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS    
'********************'
AUTH_USER_MODEL 
'auth.User'
BASE_DIR    
'C:\\Users\\anwes\\OneDrive\\Desktop\\Zen Django\\Zen'
CACHES  
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS  
'default'
CACHE_MIDDLEWARE_KEY_PREFIX 
'********************'
CACHE_MIDDLEWARE_SECONDS    
600
CSRF_COOKIE_AGE 
31449600
CSRF_COOKIE_DOMAIN  
None
CSRF_COOKIE_HTTPONLY    
False
CSRF_COOKIE_NAME    
'csrftoken'
CSRF_COOKIE_PATH    
'/'
CSRF_COOKIE_SAMESITE    
'Lax'
CSRF_COOKIE_SECURE  
False
CSRF_FAILURE_VIEW   
'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME    
'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS    
[]
CSRF_USE_SESSIONS   
False
DATABASES   
{'default': {'ATOMIC_REQUESTS': False,
             'AUTOCOMMIT': True,
             'CONN_MAX_AGE': 0,
             'ENGINE': 'django.db.backends.sqlite3',
             'HOST': '',
             'NAME': 'C:\\Users\\anwes\\OneDrive\\Desktop\\Zen '
                     'Django\\Zen\\db.sqlite3',
             'OPTIONS': {},
             'PASSWORD': '********************',
             'PORT': '',
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': None,
             'USER': ''}}
DATABASE_ROUTERS    
[]
DATA_UPLOAD_MAX_MEMORY_SIZE 
2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS   
1000
DATETIME_FORMAT 
'N j, Y, P'
DATETIME_INPUT_FORMATS  
['%Y-%m-%d %H:%M:%S',
 '%Y-%m-%d %H:%M:%S.%f',
 '%Y-%m-%d %H:%M',
 '%Y-%m-%d',
 '%m/%d/%Y %H:%M:%S',
 '%m/%d/%Y %H:%M:%S.%f',
 '%m/%d/%Y %H:%M',
 '%m/%d/%Y',
 '%m/%d/%y %H:%M:%S',
 '%m/%d/%y %H:%M:%S.%f',
 '%m/%d/%y %H:%M',
 '%m/%d/%y']
DATE_FORMAT 
'N j, Y'
DATE_INPUT_FORMATS  
['%Y-%m-%d',
 '%m/%d/%Y',
 '%m/%d/%y',
 '%b %d %Y',
 '%b %d, %Y',
 '%d %b %Y',
 '%d %b, %Y',
 '%B %d %Y',
 '%B %d, %Y',
 '%d %B %Y',
 '%d %B, %Y']
DEBUG   
True
DEBUG_PROPAGATE_EXCEPTIONS  
False
DECIMAL_SEPARATOR   
'.'
DEFAULT_CHARSET 
'utf-8'
DEFAULT_CONTENT_TYPE    
'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER   
'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE    
'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL  
'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE    
''
DEFAULT_TABLESPACE  
''
DISALLOWED_USER_AGENTS  
[]
EMAIL_BACKEND   
'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST  
'localhost'
EMAIL_HOST_PASSWORD 
'********************'
EMAIL_HOST_USER 
''
EMAIL_PORT  
25
EMAIL_SSL_CERTFILE  
None
EMAIL_SSL_KEYFILE   
'********************'
EMAIL_SUBJECT_PREFIX    
'[Django] '
EMAIL_TIMEOUT   
None
EMAIL_USE_LOCALTIME 
False
EMAIL_USE_SSL   
False
EMAIL_USE_TLS   
False
FILE_CHARSET    
'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS   
None
FILE_UPLOAD_HANDLERS    
['django.core.files.uploadhandler.MemoryFileUploadHandler',
 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE 
2621440
FILE_UPLOAD_PERMISSIONS 
None
FILE_UPLOAD_TEMP_DIR    
None
FIRST_DAY_OF_WEEK   
0
FIXTURE_DIRS    
[]
FORCE_SCRIPT_NAME   
None
FORMAT_MODULE_PATH  
None
FORM_RENDERER   
'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS  
[]
INSTALLED_APPS  
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'app1']
INTERNAL_IPS    
[]
LANGUAGES   
[('af', 'Afrikaans'),
 ('ar', 'Arabic'),
 ('ast', 'Asturian'),
 ('az', 'Azerbaijani'),
 ('bg', 'Bulgarian'),
 ('be', 'Belarusian'),
 ('bn', 'Bengali'),
 ('br', 'Breton'),
 ('bs', 'Bosnian'),
 ('ca', 'Catalan'),
 ('cs', 'Czech'),
 ('cy', 'Welsh'),
 ('da', 'Danish'),
 ('de', 'German'),
 ('dsb', 'Lower Sorbian'),
 ('el', 'Greek'),
 ('en', 'English'),
 ('en-au', 'Australian English'),
 ('en-gb', 'British English'),
 ('eo', 'Esperanto'),
 ('es', 'Spanish'),
 ('es-ar', 'Argentinian Spanish'),
 ('es-co', 'Colombian Spanish'),
 ('es-mx', 'Mexican Spanish'),
 ('es-ni', 'Nicaraguan Spanish'),
 ('es-ve', 'Venezuelan Spanish'),
 ('et', 'Estonian'),
 ('eu', 'Basque'),
 ('fa', 'Persian'),
 ('fi', 'Finnish'),
 ('fr', 'French'),
 ('fy', 'Frisian'),
 ('ga', 'Irish'),
 ('gd', 'Scottish Gaelic'),
 ('gl', 'Galician'),
 ('he', 'Hebrew'),
 ('hi', 'Hindi'),
 ('hr', 'Croatian'),
 ('hsb', 'Upper Sorbian'),
 ('hu', 'Hungarian'),
 ('hy', 'Armenian'),
 ('ia', 'Interlingua'),
 ('id', 'Indonesian'),
 ('io', 'Ido'),
 ('is', 'Icelandic'),
 ('it', 'Italian'),
 ('ja', 'Japanese'),
 ('ka', 'Georgian'),
 ('kab', 'Kabyle'),
 ('kk', 'Kazakh'),
 ('km', 'Khmer'),
 ('kn', 'Kannada'),
 ('ko', 'Korean'),
 ('lb', 'Luxembourgish'),
 ('lt', 'Lithuanian'),
 ('lv', 'Latvian'),
 ('mk', 'Macedonian'),
 ('ml', 'Malayalam'),
 ('mn', 'Mongolian'),
 ('mr', 'Marathi'),
 ('my', 'Burmese'),
 ('nb', 'Norwegian Bokmål'),
 ('ne', 'Nepali'),
 ('nl', 'Dutch'),
 ('nn', 'Norwegian Nynorsk'),
 ('os', 'Ossetic'),
 ('pa', 'Punjabi'),
 ('pl', 'Polish'),
 ('pt', 'Portuguese'),
 ('pt-br', 'Brazilian Portuguese'),
 ('ro', 'Romanian'),
 ('ru', 'Russian'),
 ('sk', 'Slovak'),
 ('sl', 'Slovenian'),
 ('sq', 'Albanian'),
 ('sr', 'Serbian'),
 ('sr-latn', 'Serbian Latin'),
 ('sv', 'Swedish'),
 ('sw', 'Swahili'),
 ('ta', 'Tamil'),
 ('te', 'Telugu'),
 ('th', 'Thai'),
 ('tr', 'Turkish'),
 ('tt', 'Tatar'),
 ('udm', 'Udmurt'),
 ('uk', 'Ukrainian'),
 ('ur', 'Urdu'),
 ('vi', 'Vietnamese'),
 ('zh-hans', 'Simplified Chinese'),
 ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI  
['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE   
'en-us'
LANGUAGE_COOKIE_AGE 
None
LANGUAGE_COOKIE_DOMAIN  
None
LANGUAGE_COOKIE_NAME    
'django_language'
LANGUAGE_COOKIE_PATH    
'/'
LOCALE_PATHS    
[]
LOGGING 
{}
LOGGING_CONFIG  
'logging.config.dictConfig'
LOGIN_REDIRECT_URL  
'/accounts/profile/'
LOGIN_URL   
'/accounts/login/'
LOGOUT_REDIRECT_URL 
None
MANAGERS    
[]
MEDIA_ROOT  
''
MEDIA_URL   
''
MESSAGE_STORAGE 
'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE  
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']
MIGRATION_MODULES   
{}
MONTH_DAY_FORMAT    
'F j'
NUMBER_GROUPING 
0
PASSWORD_HASHERS    
'********************'
PASSWORD_RESET_TIMEOUT_DAYS 
'********************'
PREPEND_WWW 
False
ROOT_URLCONF    
'Zen.urls'
SECRET_KEY  
'********************'
SECURE_BROWSER_XSS_FILTER   
False
SECURE_CONTENT_TYPE_NOSNIFF 
False
SECURE_HSTS_INCLUDE_SUBDOMAINS  
False
SECURE_HSTS_PRELOAD 
False
SECURE_HSTS_SECONDS 
0
SECURE_PROXY_SSL_HEADER 
None
SECURE_REDIRECT_EXEMPT  
[]
SECURE_SSL_HOST 
None
SECURE_SSL_REDIRECT 
False
SERVER_EMAIL    
'root@localhost'
SESSION_CACHE_ALIAS 
'default'
SESSION_COOKIE_AGE  
1209600
SESSION_COOKIE_DOMAIN   
None
SESSION_COOKIE_HTTPONLY 
True
SESSION_COOKIE_NAME 
'sessionid'
SESSION_COOKIE_PATH 
'/'
SESSION_COOKIE_SAMESITE 
'Lax'
SESSION_COOKIE_SECURE   
False
SESSION_ENGINE  
'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE 
False
SESSION_FILE_PATH   
None
SESSION_SAVE_EVERY_REQUEST  
False
SESSION_SERIALIZER  
'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE 
'Zen.settings'
SHORT_DATETIME_FORMAT   
'm/d/Y P'
SHORT_DATE_FORMAT   
'm/d/Y'
SIGNING_BACKEND 
'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS  
[]
STATICFILES_DIRS    
['C:\\Users\\anwes\\OneDrive\\Desktop\\Zen Django\\Zen\\static']
STATICFILES_FINDERS 
['django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE 
'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT 
None
STATIC_URL  
'/static/'
TEMPLATES   
[{'APP_DIRS': True,
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': ['C:\\Users\\anwes\\OneDrive\\Desktop\\Zen Django\\Zen\\templates'],
  'OPTIONS': {'context_processors': ['django.template.context_processors.debug',
                                     'django.template.context_processors.request',
                                     'django.contrib.auth.context_processors.auth',
                                     'django.contrib.messages.context_processors.messages']}}]
TEMPLATE_DIR    
'C:\\Users\\anwes\\OneDrive\\Desktop\\Zen Django\\Zen\\templates'
TEST_NON_SERIALIZED_APPS    
[]
TEST_RUNNER 
'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR  
','
TIME_FORMAT 
'P'
TIME_INPUT_FORMATS  
['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE   
'UTC'
USE_I18N    
True
USE_L10N    
True
USE_THOUSAND_SEPARATOR  
False
USE_TZ  
True
USE_X_FORWARDED_HOST    
False
USE_X_FORWARDED_PORT    
False
WSGI_APPLICATION    
'Zen.wsgi.application'
X_FRAME_OPTIONS 
'SAMEORIGIN'
YEAR_MONTH_FORMAT   
'F Y'
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code.

Ответы [ 2 ]

0 голосов
/ 28 октября 2019

Причина, по которой вы получаете эту ошибку, заключается в том, что вы не наследуете модель User, вы поддерживаете отношение один к одному с вашей моделью пользователя.

Если вы хотите, чтобы переменные модели User наследовались в вашемМодель Доктора, вы должны наследовать AbstractUser Модель в вашей модели Доктора, подобная этой:

from django.db import models 
from django.contrib.auth.models import AbstractUser 
# Create your models here. 
class Doctor(AbstractUser): 
    phone_no = models.IntegerField()
    experience = models.IntegerField()
0 голосов
/ 28 октября 2019

Вам нужно сделать следующее:

user = User.objects.create_user(first_name=first_name, last_name=last_name,  email=email_id, password=password1, username=username)
doctor = Docter.objects.create(experience=exp, phone_no=phone_no, user=user)

Таким образом, вам нужно сначала сделать User, затем сделать Doctor секунду и связать его с User.

* 1008. * РЕДАКТИРОВАТЬ: Чтобы ответить на ваш вопрос, эти две строки должны заменить эти строки в RegisterDoctor. Кстати, я думаю, что имена ваших представлений должны быть строчными, так как они являются методами:
user = Doctor.objects.create_user(first_name=first_name,last_name=last_name,email=email_id,password=password1,username=username,experience=exp,phone_no=phone_no)
user.save()
...