Return Database.Cursor.execute(self, query, params) django.db.utils.OperationalError: table customer_ordermod el has no column named created_on
Я хочу создать приложение для доставки еды, но столкнулся с этой ошибкой. "return Database.Cursor.execute(self, query, params) django.db.utils.OperationalError: table customer_ordermod el не имеет столбца с именем created_on"
это view.py
from ast import Return
from multiprocessing import context
from django.shortcuts import render
from django.views import View
from .models import MenuItem, Category, OrderModel
class Index(View):
def get(self, request, *args, **kwargs):
return render(request, 'customer/index.html')
class About(View):
def get(self, request, *args, **kwargs):
return render(request, 'customer/about.html')
class Order(View):
def get(self, request, *args, **kwargs):
# get every item from each category
appetizers = MenuItem.objects.filter(
category__name__contains='Appetizer')
main_course = MenuItem.objects.filter(
category__name__contains='Main Course')
desserts = MenuItem.objects.filter(category__name__contains='Dessert')
drinks = MenuItem.objects.filter(category__name__contains='Drink')
# pass into context
context = {
'appetizers': appetizers,
'main_course': main_course,
'desserts': desserts,
'drinks': drinks,
}
# render the templates
return render(request, 'custormer/order.html', context)
def post(self, request, *args, **kwargs):
order_items = {
'items': []
}
items = request.POST.getlist('items[]')
for item in items:
menu_item = MenuItem.objects.get(pk=int(item))
item_data = {
'id': menu_item.pk,
'name': menu_item.name,
'price': menu_item.price
}
order_items['items'].append(item_data)
price = 0
item_ids = []
for item in order_items['items']:
price += item['price']
item_ids.append(item['id'])
order = OrderModel.objects.create(price=price)
order.items.add(*item_ids)
context = {
'items': order_items['items'],
'price': price
}
return render(request, 'customer/order_conformation.html', context)
вот мой model.py
from time import strftime
from unicodedata import category, name
from django.db import models
class MenuItem(models.Model):
name = models.CharField(max_length=100)
description = models.TextField()
image = models.ImageField(upload_to='menu_image/')
price = models.DecimalField(max_digits=5, decimal_places=2)
category = models.ManyToManyField('Category', related_name='item')
def __str__(self):
return self.name
class Category(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class OrderModel(models.Model):
created_on = models.DateTimeField(auto_now_add=True)
price = models.DecimalField(max_digits=7, decimal_places=2)
items = models.ManyToManyField(
'MenuItem', related_name='order', blank=True)
def __str__(self):
return f'Order: {self.created_on.strftime("%b %d %I: %M %p")}'
вот трассировка
Итак, это моя проблема, я перепробовал много решений, но так и не смог решить проблему. Как я вижу, в моем основном коде нет проблем, но есть некоторые внутренние проблемы, но все же я не могу запустить свою программу без их решения. может ли кто-нибудь помочь. это срочно.