django.db.utils.OperationalError: nie ma takiej tabeli: auth_user


Po zainstalowaniu Django-userena pojawia się błąd
my django version: 1.9.5
Po prostu instaluję django-userena krok po kroku, ale kiedy wykonuję migrację, pojawia się błąd i nie wiem, jak go rozwiązać.
Traceback (most recent call last):
File "manage.py", line 12, in <module>
execute_from_command_line(sys.argv)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 353, in execute_from_command_line
utility.execute()
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 345, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python27\lib\site-packages\django\core\management\base.py", line 348, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\Python27\lib\site-packages\django\core\management\base.py", line 399, in execute
output = self.handle(*args, **options)
File "C:\Python27\lib\site-packages\django\core\management\commands\migrate.py", line 204, in handle
emit_post_migrate_signal(self.verbosity, self.interactive, connection.alias)
File "C:\Python27\lib\site-packages\django\core\management\sql.py", line 50, in emit_post_migrate_signal
using=db)
File "C:\Python27\lib\site-packages\django\dispatch\dispatcher.py", line 192, in send
response = receiver(signal=self, sender=sender, **named)
File "C:\Python27\lib\site-packages\guardian\management\__init__.py", line 33, in create_anonymous_user
User.objects.get(**lookup)
File "C:\Python27\lib\site-packages\django\db\models\manager.py", line 122, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "C:\Python27\lib\site-packages\django\db\models\query.py", line 381, in get
num = len(clone)
File "C:\Python27\lib\site-packages\django\db\models\query.py", line 240, in __len__
self._fetch_all()
File "C:\Python27\lib\site-packages\django\db\models\query.py", line 1074, in _fetch_all
self._result_cache = list(self.iterator())
File "C:\Python27\lib\site-packages\django\db\models\query.py", line 52, in __iter__
results = compiler.execute_sql()
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 848, in execute_sql
cursor.execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\backends\utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\backends\utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\utils.py", line 95, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "C:\Python27\lib\site-packages\django\db\backends\utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\backends\sqlite3\base.py", line 323, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: auth_user

Aplikacje:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites', 'userena',
'guardian',
'easy_thumbnails',
'accounts',
]

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

./manage.py migrate

jeśli twoja wersja Django to 1.9 lub niższa, użyj
./manage.py syncdb

następnie
python manage.py createsuperuser

Więcej informacji o

https://github.com/django/djan ... ms.py
https://github.com/django/djan ... ms.py
Może to pomoże
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Problem w tej linii:
File "C:\Python27\lib\site-packages\guardian\management\__init__.py", line 33, in create_anonymous_user
User.objects.get(**lookup)
guardian\management\__init__.py
is calling
User
before it is defined.
Why is it called before it is defined?...well, it is called by
makemigrations
to find out if there are changes in the
db
to define them (the changes that are found)
...so this is a "chicken and egg" problem.
I have the same error with a similar problem but the offending code was my own code (not a library like
guardian
)
My code was like this:
CHAT_BOT_USER, created = User.objects.get_or_create(username='rosty', \ email=settings.EMAIL_HOST_USER)
Obraźliwe część to Użytkownik Używany przed utworzeniem tabeli
Auth_user
Rozwiązałem problem, prowadząc kod tylko wtedy, gdy tabela jest obecna. Dzieje się tak, gdy nie ma
LifeError
. I możesz dowiedzieć się to za pomocą
Spróbuj/z wyjątkiem
Lubię to:
from django.db import OperationalErrortry:
CHAT_BOT_USER, created = User.objects.get_or_create(username='rosty', email=settings.EMAIL_HOST_USER)except OperationalError:
CHAT_BOT_USER = Noneif created:
CHAT_BOT_USER.set_password(settings.EMAIL_HOST_PASSWORD)
CHAT_BOT_USER.save()

Tak więc Makeemigracje Uruchamia z wyjątkiem kodu i
Runserver
- Kod Spróbuj .
Zwróć uwagę na boolean
created
, możesz użyć dowolnego innego sposobu, aby uniknąć wykonywania kodu
makemigration
, który zależy od wyników
User.objects ....
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Otrzymałem ten sam błąd i żeby naprawić to samo sprawdziłem czy wspomniana tablica występuje w błędzie w podłączonej DB czy nie. Tak się jednak nie stało. Zastosowałem migracje ponownie i zadziałało.
python manage.py migratepython manage.py makemigrations
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Uruchom: python3 manage.py migrate

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się