Django.db.utils.OperationalError: нет такой таблицы: product, django не может импортировать form.py в view.py

У меня есть 3 страницы Model, Forms и View

В model.py я определяю свою таблицу

#model.py  

class Prod(models.Model):
    id = models.CharField(primary_key=True, max_length=10, blank=False, null=False)
    description = models.TextField(blank=True, null=True)
    
    
    class Meta:
        managed = False
        db_table = 'product'
        verbose_name = 'PROD'

теперь я перехожу к forms.py

#forms.py

from .models import Prod

class ProdForm(forms.ModelForm):
    #some code to fill

    class Meta:
        model = Prod
        exclude = [...]
        widgets = {
            ...
            }
        labels = {
            ...
        }

и, наконец, с помощью view.py

#view.py

from .forms import ProdForm

Когда я выполняю python manage.py makemigrations, я получаю ошибку, говорящую

no such table: product

Мое приложение размещалось локально на хостинге с помощью postgres, теперь я использую db.sqlite3 для тестирования, я не понимаю, почему views.py не может импортировать табличные формы или, по крайней мере, почему он не создает их?

Я не понимаю почему, особенно если этот код был запущен локально с postgres.

Удалите определение ProdForm из forms.py

Вызов python manage.py makemigrations

Вызов python manage.py migrate

Добавьте форму обратно в forms.py

Примечание: Всегда мигрируйте новые определения модели перед использованием их в качестве зависимостей

.

Просто вы можете удалить все папки миграций и выполнить миграцию вручную, используя следующую команду:

python manage.py makemigrations appname

python manage.py sqlmigrate appname 0001

python manage.py migrate

Попробуйте вышеуказанные действия и посмотрите, решит ли это вашу ошибку

Вернуться на верх