Я получаю следующее IntegrityError в /registration/ NOT NULL constraint failed: bankapp_registration.date_of_birth error

models.py

    from django.db import models
    
    # Create your models here.
    
    class Registration(models.Model):
        bank_ac = models.CharField(max_length=64)
        first_name = models.CharField(max_length=64)
        last_name = models.CharField(max_length=64)
        user_name = models.CharField(max_length=64)
        mobile_number = models.CharField(max_length=10)
        email = models.EmailField()
        password = models.CharField(max_length=18)
        date_of_birth = models.DateField(max_length=64)
        address = models.CharField(max_length=160)
        pin_code = models.IntegerField()
    

views.py

    from django.shortcuts import render
    from bankapp.forms import RegistrationForm, LoginForm
    from bankapp.models import Registration
    from django.http import HttpResponse
    
    # Create your views here.
    def Home(request):
        return render(request, 'home.html')
    
    def RegistrationView(request):
        if request.method == 'POST':
            rform = RegistrationForm(request.POST)
            if rform.is_valid():
                bac = request.POST.get('bank_ac')
                fname = request.POST.get('first_name')
                lname = request.POST.get('last_name')
                uname = request.POST.get('user_name')
                mnumber = request.POST.get('mobile_number')
                email = request.POST.get('email')
                password = request.POST.get('password')
                dob = request.POST.get('date_of_birth')
                address = request.POST.get('address')
                pin_code = request.POST.get('pin_code')
                data = Registration(
                     bank_ac = bac,
                     first_name = fname,
                     last_name = lname,
                     user_name = uname,
                     mobile_number = mnumber,
                     email = email,
                     password = password,
                     date_of_birth = dob,
                     address = address,
                     pin_code = pin_code
                )
                data.save()
                rform = RegistrationForm()
                return render(request,'Registration.html', {'rform':rform})
            else:
                return HttpResponse('User Entered invalid data')
        else:
            rform = RegistrationForm()
            return render(request,'Registration.html', {'rform':rform})
    
    
    def LoginView(request):
        sform = LoginForm()
        if request.method == "POST":
            sform = LoginForm(request.POST)
            if sform.is_valid():
                uname = request.POST.get('user_name')
                pwd = request.POST.get('password')
                print(uname)
                print(pwd)
    
                user1 = Registration.objects.filter(user_name=uname)
                password1 = Registration.objects.filter(password=pwd)
    
                if user1 and password1:
                    return redirect('/')
                else:
                    return HttpResponse('enter user name and password correctly')
            else:
                return HttpResponse('please enter valid data')
        else:
            return render(request, 'login.html', {'sform':sform})
    

forms.py

urls.py

    from django.contrib import admin
    from django.urls import path
    from bankapp import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', views.Home),
        path('login/', views.LoginView),
        path('registration/', views.RegistrationView),
    ]
    

registration.html

    {% extends 'base.html' %}
     {% block xx %}
     {% endblock %}
    
     {% block body_block %}
      <div class="container">
        <div class="jumbotrone">
          <form method="post">
            {% csrf_token %}
            {{ rform.as_p }}
            <input type="submit" class='btn btn-success' value="Submit">
            <input type="reset" value="Clear" class="btn btn-danger">
          </form>
        </div>
      </div>
     {% endblock %}
    

login.html

    {% extends 'base.html'%}
    {% block xx %}
    
    {% endblock %}
    
    {% block body_block %}
     <div class="container">
       <h3 align='center'> Please Login Here </h3>
       <div class="jumbotrone">
         <form method="post">
           {% csrf_token %}
           {{ sform.as_p }}
           <input type="submit" class='btn btn-success' value="Submit">
           <input type="reset" value="Clear" class="btn btn-danger"> <br> <br>
           <a href="/registration"> Create New Account Here </a>
         </form>
       </div>
     </div>
    {% endblock %}
    

base.html

    <!DOCTYPE html>
    <html>
      <head>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script
        {% block xx %}
        {% endblock %}
      </head>
      <body>
        <nav class="navbar navbar-inverse">
          <div class="container-fluid">
            <div class="navbar-header">
              <a class="navbar-brand"href="#"> Omkar Bank </a>
            </div>
            <ul class='nav navbar-nav'>
              <li><a href="/"> Home </a></li>
              <li class='dropdown'><a class='dropdown-toggle' data-toggle='dropdown' href="#"> Netbanking <span class='caret'> </span> </a>
               <ul class='dropdown-menu'>
                <li> <a href='/login'> Retail User </a> </li>
                <li> <a href='#'> Corporate User </a> </li>
               </ul></li>
              <li><a href="#"> Cards </a></li>
              <li><a href="#"> Contacts Us </a></li>
            </ul>
          </div>
        </nav>
        {% block body_block %}
        {% endblock %}
      </body>
    </html>

ошибка:

File "C:\Users\sms14\AtomProjects\myenv\lib\site-packages\django\db\backends\utils.py", line 76, in _execute_with_wrappers
    return executor(sql, params, many, context)

  File "C:\Users\sms14\AtomProjects\myenv\lib\site-packages\django\db\backends\utils.py", line 80, in _execute
    with self.db.wrap_database_errors:
  File "C:\Users\sms14\AtomProjects\myenv\lib\site-packages\django\db\utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\Users\sms14\AtomProjects\myenv\lib\site-packages\django\db\backends\utils.py", line 85, in _execute
    return self.cursor.execute(sql, params)
  File "C:\Users\sms14\AtomProjects\myenv\lib\site-packages\django\db\backends\sqlite3\base.py", line 416, in execute
    return Database.Cursor.execute(self, query, params)
django.db.utils.IntegrityError: NOT NULL constraint failed: bankapp_registration.date_of_birth
[24/Apr/2022 23:02:53] "POST /registration/ HTTP/1.1" 500 152567`enter code here`
Вернуться на верх