Таблица Django не существует

У меня есть приложение на Django под названием webshopCatalog с models.py. Все это находится на сервере разработки, и я ранее удалил базу данных mysql, а затем создал новую, поскольку я экспериментировал. Проблема в том, что когда я пытаюсь создать товар, я получаю ошибку, говорящую, что таблица не существует (см. полный журнал ошибок, когда я нажимаю на ссылку товара из админки). Я пробовал с python manage.py makemigrations и python manage.py migrate это не решает проблему.

Я также попытался закомментировать модель, сделав python manage.py makemigrations и python manage.py migrate --fake, а затем раскомментировать модель, повторив шаги без --fake, все равно это не решило проблему.

from django.db import models from django.db.models.fields.related import create_many_to_many_intermediary_model из django.urls import reverse

class Product(models.Model):
    name = models.CharField(max_length = 50, unique=True)
    description = models.TextField()
    allergic_note = models.CharField(max_length = 255, blank = True, null=True)
    quantity = models.IntegerField(null = True, blank = True) #Used for campaign products to show how many items there is left
    price = models.DecimalField(max_digits=9, decimal_places=0, default=0.00)
    is_active = models.BooleanField(default = True)
    is_deliverable = models.BooleanField(default = True) 
    image_path = models.ImageField(upload_to = 'productImages')
    meta_keywords = models.CharField(max_length=255, help_text="comma delimited keywords text for SEO")
    meta_description = models.CharField(max_length=255, help_text="SEO description content")
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    slug = models.SlugField(max_length=255, unique = True,
    help_text="Unique text for url created from name")
    printToKitchenName = models.CharField(max_length = 20, blank = True,
    help_text= "Appears on receipt printer when printing to kitchen")
    printToKitchen = models.BooleanField(default = True)
    is_featured = models.BooleanField(default = False)
    is_bestseller = models.BooleanField(default=False)

    class Meta:
        ordering = ['-created_at']
    
    def __str__(self):
        return self.name
    
    def get_absolute_url(self):
        return reverse("webshopCatalog-product", args=(self.slug,))

С помощью forms.py

from django import forms
from webshopCatalog.models import Product

class ProductAdminForm(forms.ModelForm):
    class Meta:
        model = Product
        exclude = ['created_at', 'updated_at']

    def clean_price(self):
        if self.cleaned_data['price'] < 0: #We allow 0 to be included in case we want to give out free products
            raise forms.ValidationError('Price cannot be negative value')
        return self.cleaned_data['price']

и admin.py

from django.contrib import admin

# Register your models here.
from webshopCatalog.models import Product #Category
from webshopCatalog.forms import ProductAdminForm

class ProductAdmin(admin.ModelAdmin):
    form = ProductAdminForm
    
    #How the admin site will list products
    list_display = ('name', 'price', 'created_at', 'updated_at',)
    list_display_links = ('name',)
    list_per_page = 50
    ordering =['-name']
    search_fields = ['name', 'description', 'meta_keywords', 'meta_description']
    exclude = ('created_at', 'updated_at',)

    #Sets up slug to be generated from product name
    prepopulated_fields = {'slug' : ('name',)}

#Registers the product model with the admin interface
admin.site.register(Product, ProductAdmin)

Ошибка, которую я получил при нажатии на продукт из админки

Эта проблема решается

python manage.py makemigrations webshopCatalog
python manage.py migrate
Вернуться на верх