Py学习  »  Django

Django用子类别创建类别

project_kingz • 4 年前 • 691 次点击  

我试图实现一个类别表,但这并不是我想要的。我正在构建一个具有多个类别级别的项目,但我想做的是构建一个多层类别结构。

例如,我已经创建了类别如下的类,但我希望按照下面的示例实现多级别类别

操作>(+) 惊悚片或拳击或帮派相关

有什么想法吗?

class Category(models.Model):
    CATEGORIES = (
        ('ACT', 'Action'),
        ('THRILLER', 'Thriller'),
        ('COM', 'Comedy'),
        ('WEST', 'Western'),
        ('MILITARY', 'Military'),
    )

    image = models.ImageField()
    description = models.CharField(max_length=500)
    quantity = models.IntegerField()
    category = models.CharField(
        max_length=10,
        choices=CATEGORIES
    )
    date_posted = models.DateTimeField(auto_now_add=True, blank=True)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38470
 
691 次点击  
文章 [ 2 ]  |  最新文章 4 年前
Anjaneyulu Batta
Reply   •   1 楼
Anjaneyulu Batta    5 年前

你需要像下面那样改变你的模型。我们应该用“亲子关系”来实现你的目标。

class Category(models.Model):
    CATEGORIES = (
        ('ACT', 'Action'),
        ('THRILLER', 'Thriller'),
        ('COM', 'Comedy'),
        ('WEST', 'Western'),
        ('MILITARY', 'Military'),
    )

    image = models.ImageField()
    description = models.CharField(max_length=500)
    quantity = models.IntegerField()
    category = models.CharField(
        max_length=10,
        choices=CATEGORIES
    )
    date_posted = models.DateTimeField(auto_now_add=True, blank=True)
    parent = models.ForeignKey('self', null=True, blank=True, related_name="childs")

访问父级和子级的示例:

parents = Category.objects.filter(parent=None)
parent =  parents[0] # create some categories before using it
childs = parent.childs.all()
thanos
Reply   •   2 楼
thanos    5 年前

使用标签包: https://djangopackages.org/grids/g/tagging/

为了你所做的,我既用了塔吉特语,也用了塔吉特语。两个都很好。