#python #django
#python #django
Вопрос:
Я смотрю на эту проблему в течение часа, но я не могу найти, что с этим не так, когда я запускаю python manage.py shell
и импортирую подобное from polls.models import Post
и вызываю оболочку Post.objects.all()
, она показывает ошибку, подобную этой "django.db.utils.OperationalError: no such table: polls_post"
Как я могу это решить?
Это polls.models.py
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
Это 0001_initial.py
# Generated by Django 3.1 on 2020-08-31 02:53
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Post',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=200)),
('content', models.TextField()),
('date_posted', models.DateTimeField(default=django.utils.timezone.now)),
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
]
Комментарии:
1. вы запускали
python manage.py migrate
послеpyhon manage.py makemigrations
??2. Я сделал, но он говорит мне, что изменений не обнаружено, и я делал это раньше
3. какую БД вы используете?? у вас есть клиент для проверки базы данных с помощью пользовательского интерфейса?? Что-то вроде MySQL-workbench??
4. я думаю, у вас есть таблица с именем ‘Post’, в то время как вы должны были получить ‘polls_post’
Ответ №1:
Вы должны запустить команду migrate, которая отвечает за применение и отмену миграций.