Поведение "Отношение не существует" в django + postgresql
После просмотра всех других ответов здесь я все еще не могу понять это. В моем проекте есть два приложения, первое приложение users управляет пользователями, а второе signals управляет содержимым для отображения. Сейчас я просто пытаюсь заставить второе приложение signals работать, но даже самые простые модели выдают ошибки в admin.
Ошибка, которую я получаю:
ProgrammingError at /admin/signals/signal/
relation "signals_signal" does not exist
LINE 1: SELECT COUNT(*) AS "__count" FROM "signals_signal"
Вот что у меня есть в models.py:
class Asset(models.Model):
name = models.CharField(max_length=30)
ticker = models.CharField(max_length=30)
def __str__(self):
return "%s, %s" % (self.name, self.ticker)
class Signal(models.Model):
type = models.CharField(max_length=100)
date = models.DateField()
asset = models.ForeignKey(Asset, on_delete=models.CASCADE)
def __str__(self):
return self.type
В settings.py;
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
# 'NAME': BASE_DIR / 'db.sqlite3',
'NAME': 'users',
'USER': 'admin',
'PASSWORD': 'password',
'HOST': 'localhost'
}
}
А admin.py для signals это:
from django.contrib import admin
from .models import Asset, Signal
# Register your models here.
class AssetAdmin(admin.ModelAdmin):
pass
admin.site.register(Asset, AssetAdmin)
class SignalAdmin(admin.ModelAdmin):
pass
admin.site.register(Signal, SignalAdmin)
Я перепробовал практически все: удаление миграций, создание startapp с нуля и т.д. Я никогда раньше не использовал postgres. Спасибо за любую помощь.
Я думаю, что проблема возникла из-за неправильной ENGINE конфигурации в настройках.
Измените это
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
... other configurations
}
}
to
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
... other configurations
}
}
Смотрите https://docs.djangoproject.com/en/stable/ref/settings/#engine