【发布时间】:2020-06-19 18:19:28
【问题描述】:
我正在尝试在 django 中申请一家餐厅;我必须为不同类型的项目创建一个菜单,所有这些不同类型的项目本质上必须是产品,这样我才能将该产品添加到用户的相应购物车中。这是我的菜单项:
from django.db import models
from django.contrib.auth.models import User
class Product(models.Model):
price = models.DecimalField(decimal_places=2, max_digits=10)
class Pizza(Product):
pizzatype = models.CharField(max_length=15)
extras = models.TextField(max_length=50)
size = models.CharField(max_length=10)
class Subs(Product):
name = models.TextField(max_length=64)
size = models.CharField(max_length=10)
class DinnerPlatters(Product):
name = models.TextField(max_length=64)
size = models.CharField(max_length=10)
class Pasta(Product):
name = models.TextField(max_length=64)
class Salads(Product):
name = models.TextField(max_length=64)
可以看出,我尝试从单个模型 Product 派生不同类型菜单项的模型,但是在运行 makemigrations 时,我在终端上收到以下消息:
You are trying to add a non-nullable field 'product_ptr' to dinnerplatters without a default; we can't do that (the database needs something to populate existing rows).
Please select a fix:
1) Provide a one-off default now (will be set on all existing rows with a null value for this column)
2) Quit, and let me add a default in models.py
我尝试在谷歌上搜索我的问题的解决方案,但找不到合适的解决方案。
我是 Django 新手,这是我的第一个应用程序,因此我们将不胜感激任何有关如何解决我的问题的帮助或任何其他方法。
【问题讨论】:
标签: python django django-models orm