Custom User Register Problem (NOT NULL constraint failed: mainaccount_myuser.password)

I changed the user model for a custom user model. Drop all migrations and deleted db.sqlite3 files. The model was working fine. I can register users through the admin page, but when i go to from creating the user, to change my user and finishing the registration process, this error pops up: (NOT NULL constraint failed: mainaccount_myuser.password)

how can i finx this error?

from django import forms
from django.contrib import admin
from django.contrib.auth.models import Group
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from django.contrib.auth.forms import ReadOnlyPasswordHashField
from django.core.exceptions import ValidationError
from django.contrib.auth import get_user_model

MyUser = get_user_model()
class UserCreationForm(forms.ModelForm):

    password1 = forms.CharField(label='Password', widget=forms.PasswordInput)
    password2 = forms.CharField(label='Password confirmation', widget=forms.PasswordInput)

class Meta:
    model = MyUser
    fields = ('email', 'date_of_birth', 'full_name')

def clean_password2(self):
    # Check that the two password entries match
    password1 = self.cleaned_data.get('password1')
    password2 = self.cleaned_data.get('password2')
    if password1 and password2 and password1 != password2:
        raise ValidationError("Passwords don't match")
    return password2

def save(self, commit=True):
    # Save the provided password in hashed format
    user = super(UserCreationForm, self).save(commit=False)
    if commit:
    return user

class UserChangeForm(forms.ModelForm):
    password = ReadOnlyPasswordHashField()

    class Meta:
        model = MyUser
        fields = ('email', 'password', 'full_name', 'date_of_birth', 'is_active', 'is_admin') 

class UserAdmin(BaseUserAdmin):

    form = UserChangeForm
    add_form = UserCreationForm

    list_display = ('email', 'full_name', 'date_of_birth', 'is_admin')
    list_filter = ('is_admin', 'email', 'full_name', 'date_of_birth',)
    fieldsets = (
        (None, {'fields': ('email', 'password')}),
        ('Personal info', {'fields': ('date_of_birth', )}),
        ('Permissions', {'fields': ('is_admin',)}),

    add_fieldsets = (
        (None, {
            'classes': ('wide',),
            'fields': ('email', 'date_of_birth', 'full_name', 'password1', 'password2'),
    search_fields = ('email', 'full_name',)
    ordering = ('full_name','email', 'date_of_birth', 'is_admin',)
    filter_horizontal = (), UserAdmin)
from django.db import models
from django.contrib.auth.models import (
BaseUserManager, AbstractBaseUser

class MyUserManager(BaseUserManager):
    def create_user(self, email, date_of_birth, full_name, password=None):
        if not email:
            raise ValueError('Users must have an email address')
        if not date_of_birth:
            raise ValueError('Users must have an date_of_birth')
        if not full_name:
            raise ValueError('Users must have an full_name')

        user = self.model(
            full_name = full_name,

        return user

    def create_superuser(self, email, date_of_birth, full_name, password=None):

        user = self.create_user(
        user.is_admin = True
        return user

class MyUser(AbstractBaseUser):
    email = models.EmailField(
        verbose_name='email address',

    full_name =models.CharField(
    date_of_birth = models.DateField()
    is_active = models.BooleanField(default=True)
    is_admin = models.BooleanField(default=False)

    objects = MyUserManager()

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['date_of_birth', 'full_name']

    def __str__(self):

    def get_full_name(self):
        return self.full_name

    def get_short_name(self):

    def has_perm(self, perm, obj=None):        
        return True

    def has_module_perms(self, app_label):
        return True

    def is_staff(self):
        return self.is_admin