Django型号–;设置类别、可选子类别和产品
我正在开发一个Django应用程序,其中每个产品都属于一个主要类别,并且≥0可选子类别 例如:Django型号–;设置类别、可选子类别和产品,django,django-models,Django,Django Models,我正在开发一个Django应用程序,其中每个产品都属于一个主要类别,并且≥0可选子类别 例如: Product: Brandname All-stars Subcategories: Sneakers, Lo-tops, trainers Category: Shoes 对于某些通用产品,我们不需要子类别,只需要主类别 我的尝试允许子类别关系为可选。但是,当在admin或表单中添加新产品时,所有子类别都可用,但我只希望适用于所选类别的子类别可用 例如,当添加一件新雨衣时,我不希望子类别的运动鞋
Product: Brandname All-stars
Subcategories: Sneakers, Lo-tops, trainers
Category: Shoes
对于某些通用产品,我们不需要子类别,只需要主类别
我的尝试允许子类别
关系为可选。但是,当在admin
或表单中添加新产品时,所有子类别都可用,但我只希望适用于所选类别的子类别可用
例如,当添加一件新雨衣时,我不希望子类别的运动鞋或lo上衣可用
有什么建议吗
From django.db import models
class Category(models.Model):
name = models.CharField(max_length=64)
class SubCategory(models.Model):
name = models.CharField(max_length=64)
category = models.ForeignKey(Category)
class Product(models.Model):
name = models.CharField(max_length=64)
category = models.ForeignKey(Category)
subcategory = models.ManyToManyField(Subcategory, blank=True)
您具有指定子类别的父类别的关系。那么,在为产品选择类别时,查询哪些子类别将此类别作为父类别对您有效吗?当我阅读您的描述时,我只会为每个产品选择一个类别,然后进一步过滤可以基于标记系统,您只显示该类别中使用的标记,如果您想筛选表单中的可用选项,如果您需要更改django管理站点中的表单,步骤1:验证所有子类别是否属于
clean
方法中的产品类别。第二步:添加js代码,根据所选类别过滤出子类别。感谢您的建议!我也考虑过标记,但这仍然会让我回到其他建议,基本上是过滤查询和/或修改表单和管理员?我一直在寻找一个解决方案,也在研究基于树的方法,这是我不熟悉的。