Ошибка программирования в отношении "url" "app_model" не существует ЛИНИЯ 1: ВЫБЕРИТЕ СЧЕТЧИК (*) AS "__count" ОТ "app_model"
Я искал каждый вопрос переполнения стека по этой ошибке, но ни один из ответов не помог. Я получаю эту ошибку при попытке получить доступ к странице администратора этой конкретной модели (AgentBasicInfo).
'manage.py makemigrations' работает отлично. 'manage.py migrate' также отлично работает. "manage.py runserver" работает отлично, весь сайт работает нормально, пока я не попытаюсь перейти на страницу администратора этой модели.
Приложение правильно установлено в INSTALLED_APPS в settings.py. Я использую Postgres для базы данных.
Я пытался...
- Удаление миграций и повторное выполнение makemigrations/migrate
- Удаление всей папки миграций для этого приложения и повторный запуск makemigrations/migrate
- Удаление всех миграций из всех моих приложений и повторное выполнение makemigrations/migrate
- Я попытался запустить "manage.py migrate" и "mangae.py migrate app_name". Я все еще получаю ту же ошибку.
Эта модель (см. Код ниже) является довольно простой. У меня есть несколько других моделей в моем проекте, и они отлично работают в админке, но только эта конкретная модель не работает.
models.py
class AgentBasicInfo(models.Model):
preferred_email = models.EmailField()
office_phone_number = models.IntegerField()
brokerage_of_agent = models.CharField(max_length=50)
agent_title = models.CharField(max_length=20)
def __str__(self):
return self.preferred_email
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': 'lagger123',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
0001_initial.py
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='AgentBasicInfo',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('preferred_email', models.EmailField(max_length=254)),
('office_phone_number', models.IntegerField()),
('brokerage_of_agent', models.CharField(max_length=50)),
('agent_title', models.CharField(max_length=20)),
],
),
]
Выходные данные manage.py:
accounts
[X] 0001_initial
admin
[X] 0001_initial
[X] 0002_logentry_remove_auto_add
auth
[X] 0001_initial
[X] 0002_alter_permission_name_max_length
[X] 0003_alter_user_email_max_length
[X] 0004_alter_user_username_opts
[X] 0005_alter_user_last_login_null
[X] 0006_require_contenttypes_0002
[X] 0007_alter_validators_add_error_messages
[X] 0008_alter_user_username_max_length
contenttypes
[X] 0001_initial
[X] 0002_remove_content_type_name
coresite
(no migrations)
databases
(no migrations)
manage_listings
[X] 0001_initial
search_listings
(no migrations)
sessions
[X] 0001_initial
teams
(no migrations)
2 ответа
Откройте командную строку БД.
python manage.py dbshell
И попробуйте это
delete from django_migrations where app='app_name';
Затем удалите файлы миграции и запустите команды миграции.
У меня также была эта проблема, и я пробовал:
python manage.py dbshell
Но затем я получил эту ошибку:
CommandError: You appear not to have the 'psql' program installed or on your path.
Это произошло из-за того, что Windows не нашла psql в моем пути к среде. В качестве альтернативы вы можете сделать это, отменив изменения (то есть, если у вас были предыдущие изменения в вашем репозитории git.
Для себя я использовал этот метод:
git checkout <commit hash> (which did not have the error)
После этого потяните изменения:
git pull <remote> <branch>
Затем, наконец:
git push origin main
Надеюсь, это поможет тем, у кого есть репозитории git. Я приветствую любые исправления.