python - 当根类别具有相同的子类别时,如何在 django 中实现类别/子类别?

标签 python django database django-models categories

我有这个型号的商品:

class Item(CustomBaseModel):
    name = models.CharField(max_length=100)

每个项目都属于一个特定类别,该类别可能是另一个类别的子类别。简而言之,类别如下所示:

Men
    accessories
    clothing
        tops
        jeans
    sportswear
Women
    accessories
    clothing
        skirt
        pyjamas
    sportswear

因此,根类别(男性、女性)将具有相同的子类别。

我阅读了很多资源并尝试了以下方法:

第一次尝试:

类别表

id | name        | parent_id
 1 | Men         |
 2 | Women       | 
 3 | accessories | 1
 4 | clothing    | 1
 5 | tops        | 4

此方法的问题:

  • 我需要男士和女士配饰。我必须在这里复制配件。

  • 我认为以后查询该表会很困难

第二次尝试:

我尝试使用 django-taggit。它作为标签工作得很好。

此方法存在问题:

  • 标签不是类别。与标签没有类别/子类别、父/子关系。

实现此类别/子类别关系的最佳方式是什么?

最佳答案

只是不要将男人和女人作为一个类别。配饰、服装和运动服是根类别。

对男人和女人来说是产品的属性(可能对两者都是——男女通用——所以要做出性别多值选择)。

然后在模板中对男人和女人(甚至 child )进行硬编码(不太可能很快就会有更多性别),并仅显示包含该性别产品的类别。

关于python - 当根类别具有相同的子类别时,如何在 django 中实现类别/子类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26523143/

相关文章:

python - 如何让每个 child 的一个类方法都不同(并从基类调用它)

database - FutureBuilder 与 Streambuilder

python - 为什么这个带有重复命名 url 条目的 URLConf/reverse() 组合有效?这样做的正确方法是什么?

Python:日期/时间格式

python - seaborn jointplot 按密度颜色

python - Pandas 划分多个多索引列

python - DRF 测试客户端无法发布 JSON 列表

mysql - 最新 - 邮政编码数据库?

database - 显式连接与隐式连接?

Python 习语获得与多次调用 os.path.dirname 相同的结果?