Django.db.utils.OperationalError: нет такой таблицы: django_site_id_seq
Я получил эту ошибку при выполнении команды python manage.py test
с целью тестирования.
Я попробовал удалить файлы pycache и migration, а также db.sqlite3 затем запустить python manage.py makemigrations
и python manage.py migrate
снова, а также
Но все еще получаем ту же ошибку...
Вот мой test.py
from rest_framework.test import APITestCase
from django.urls import reverse
from rest_framework import status
# Create your tests here.
class UserTest(APITestCase):
def setUp(self):
register_url = reverse('user:register')
data = {
"username":"Tester",
"email":"tester@gmail.com",
"password":"tester123",
"mobile_number":"03322917356"
}
self.client.post(register_url, data, format='json')
def test_user_can_register(self):
register_url = reverse('user:register')
data = {
"username":"Tester1",
"email":"tester1@gmail.com",
"password":"tester123",
"mobile_number":"03322911356"
}
response = self.clent.post(register_url , data , format='json')
self.assertEqual(response.status_code ,status.HTTP_201_CREATED)
Добавили ли вы свое приложение в settings.py к установленным приложениям?
В час установленного приложения закомментируйте сайты django. Сделайте makemigrations и мигрируйте. Затем снова активировать django сайты и снова выполнить миграцию
Попробуйте переключиться на postgresql, чтобы убедиться, что это проблема базы данных, всегда полезно попробовать что-то другое. Если это не сработает, тогда я бы взял существующий пример, который работает, и сравнил его с тем, что у вас есть. Проверьте файлы миграций, чтобы убедиться, что они действительно правильные. Они должны быть в папке /migrations