【发布时间】:2012-07-16 19:44:47
【问题描述】:
以下是模型的逻辑:
- 类别。有几个类别;每个类别可以包含多个产品。
- 产品。有几种产品;每个产品只能有一个类别。
是否可以在模型文件本身中指定每个产品的类别?例如:我可以设置模型,使shirt 只能是clothing 而不能是别的吗?
这是我到目前为止所拥有的(它没有验证):
class Category(models.Model):
CATEGORY_CHOICES = (
('CLOTHING', 'Clothing'),
('FURNITURE', 'Furniture'),
)
category = models.CharField(choices=CATEGORY_CHOICES)
class Shirt(Product):
category = models.ForeignKey(Category, default=CATEGORY_CHOICES.CLOTHING)
class Table(Product):
category = models.ForeignKey(Category, default=CATEGORY_CHOICES.FURNITURE)
我是新手。感谢您的帮助!
【问题讨论】:
-
这个级别的验证应该在代码中完成。
-
我同意@Sid,硬编码这种东西会变得很复杂,而且不是很巧妙的设计,这属于模型,可能是表单验证
标签: database django django-models relational-database foreign-key-relationship