Почему я получаю "ValueError: Следующие поля не существуют в этой модели или являются m2m-полями: last_login" эта ошибка

Я пишу модульный тест для веб-сайта, у веб-сайта много прав доступа. Вот код моего модульного теста

from django.test import TestCase
from accounts.models import Address, User, Business, Employment

class Test_Cases(TestCase):
    def setUp(self):
        self.user = User.objects.create_superuser( birth_year=1996, birth_month= 8, birth_day = 15, marital_status= "married", \
         confirmation_token = "55zr2xYflgSiz18dhBAk1Qqswb70ckmZ", email= "testuser1234@example.com", \
              username = "testusera11123", password= "abc123")
        self.address = Address.objects.create(city="oslo", state="Norway", street_1="112 Main", street_2="113 Main", zip="54000")
        self.business = Business.objects.create(address=self.address, name="NoorLimited", contact_email="work@bitspro.com", \
                        contact_first_name= "Business", contact_last_name= "Admin")
        self.employer= Employment.objects.create(role="ADMIN", user=self.user, business=self.business, active=True)

    def test_get_business(self):
        self.client.force_login(self.employer)
        API_LOGIN_URL = '/business/1/roster/'
        response= self.client.get(API_LOGIN_URL)
        self.assertEquals(response.status_code, 200)

код "Get_business" имеет разрешение "Business_admin" Вот код

def needs_business_admin(wrapped):

    @wraps(wrapped)
    def decorator(*args, **kwargs):
        business = kwargs.get("business")
        request = [a for a in args if hasattr(a, 'user')][0]
        try:
            Employment.objects.get(
                role=ADMIN, user=request.user, business=business, active=True)
        except Employment.DoesNotExist:
            return BaseView(request).forbidden()
        return wrapped(*args, **kwargs)
    return decorator


вот url, который я тестирую

url(r'^business/(?P<business>[^/]+)/roster/?$', BusinessRosterController()),

и вот модель пользователя

class User(AbstractUser, BaseModelMixin):
    middle_initial = models.CharField(max_length=1, blank=True, default="")
    gender = models.CharField(max_length=255, default="", blank=True)
    birth_year = models.IntegerField(default=1900)
    birth_month = models.IntegerField(default=1)
    birth_day = models.IntegerField(default=1)
    marital_status = models.CharField(max_length=255, blank=True, default="")
    sexual_orientation = models.CharField(
        max_length=255, blank=True, default="")
    reset_password_token = models.CharField(
        max_length=32, blank=True, default="")
    password_reset_at = models.DateTimeField(null=True, blank=True)
    reset_password_sent_at = models.DateTimeField(null=True, blank=True)
    sign_in_count = models.IntegerField(default=0, blank=True)
    current_sign_in_ip = models.CharField(
        max_length=255, blank=True, default="")
    last_sign_in_ip = models.CharField(max_length=255, blank=True, default="")
    confirmation_token = models.CharField(
        max_length=32, blank=True, default="")
    confirmed_at = models.DateTimeField(null=True, blank=True)
    confirmation_sent_at = models.DateTimeField(null=True, blank=True)
    employers = models.ManyToManyField(Business, through="Employment")
    timezone = models.CharField(default="UTC", max_length=32, choices=[
                                (x, x) for x in pytz.common_timezones])
    address = models.ForeignKey(
        Address, null=True, blank=True, on_delete=models.CASCADE)
    email = models.EmailField("Email Address", blank=True, unique=True)
    image = models.ForeignKey("main.Image", null=True,
                              blank=True, on_delete=models.CASCADE)
    facebook_id = models.CharField(max_length=512, default="", blank=True)
    interests = JSONField(blank=True, default=dict)
    login_failures = models.IntegerField(default=0)
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username']

и я получаю эту ошибку

PS C:\Users\Lenovo\web> docker-compose run --rm api sh -c "python manage.py test accounts"
Creating encastweb_api_run ... done
Creating test database for alias 'default'...
System check identified some issues:
======================================================================
ERROR: test_get_business (accounts.tests.Test_Cases)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/src/app/web/accounts/tests.py", line 24, in test_get_business
    self.client.force_login(self.employer)
  File "/usr/local/lib/python3.8/site-packages/django/test/client.py", line 619, in force_login
    self._login(user, backend)
  File "/usr/local/lib/python3.8/site-packages/django/test/client.py", line 632, in _login
    login(request, user, backend)
  File "/usr/local/lib/python3.8/site-packages/django/contrib/auth/__init__.py", line 132, in login
    user_logged_in.send(sender=user.__class__, request=request, user=user)
  File "/usr/local/lib/python3.8/site-packages/django/dispatch/dispatcher.py", line 173, in send
    return [
  File "/usr/local/lib/python3.8/site-packages/django/dispatch/dispatcher.py", line 174, in <listcomp>
    (receiver, receiver(signal=self, sender=sender, **named))
  File "/usr/local/lib/python3.8/site-packages/django/contrib/auth/models.py", line 20, in update_last_login
    user.save(update_fields=['last_login'])
  File "/usr/local/lib/python3.8/site-packages/services/models.py", line 74, in save
    super(BaseModel, self).save(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/django/db/models/base.py", line 728, in save
    raise ValueError("The following fields do not exist in this "
ValueError: The following fields do not exist in this model or are m2m fields: last_login

----------------------------------------------------------------------
Ran 2 tests in 8.429s

FAILED (errors=1)
Destroying test database for alias 'default'...
ERROR: 1


Буду очень признателен за ваши предложения. Заранее большое спасибо

Вернуться на верх