Django - AttributeError: объект 'User' не имеет атрибута 'fullclean'
Я работаю над проектом Django в IDE IntelliJ IDEA. Я пишу модульные тесты в файле test.py
для класса модели User
. При запуске файла test.py
с помощью команды python manage.py test
он выбрасывает 2 ошибки на метод test_username_cannot_be_blank
и метод test_valid_user. Ошибка одинакова для обоих методов
AttributeError: объект 'User' не имеет атрибута 'fullclean'.
IDEA также выдает мне Instance attribute user defined outside init warnig на строке 9 файла test.py ("self.user = User.objects.create_user()"), где и возникает предупреждение компилятора.
Что именно вызывает AttributeError
и предупреждение компилятора?
# test.py file
from django.test import TestCase
from django.core.exceptions import ValidationError
from .models import User
class UserModelTestCase(TestCase):
def setUp(self):
self.user = User.objects.create_user(
'@johndoe',
first_name='John',
last_name='Doe',
email='johndoe@example.org',
password='Password123',
bio='The quick brown fox jumps over the lazy dog.'
)
def test_valid_user(self):
self._assert_user_is_valid()
def test_username_cannot_be_blank(self):
self.user.username = ''
self._assert_user_is_invalid()
def _assert_user_is_valid(self):
try:
self.user.fullclean()
except ValidationError:
self.fail('user should be valid')
def _assert_user_is_invalid(self):
with self.assertRaises(ValidationError):
self.user.fullclean()
# models.py file
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
bio = models.TextField()
Посмотрел на stackoverflow, но не смог найти никакого решения проблемы.
У вас опечатка в имени метода. Это full_clean
.
Я никогда раньше не использовал Django, но за 3 секунды гугления я смог определить, что функция full_clean