如何在 django 模型中创建类别和子类别?

问题描述 投票:0回答:1

我正在为汽车市场建立一个简单的网站。我已经写好了品牌、系列和车型。 (我有意将它们视为单独的模型。)每当我在管理面板中创建汽车时,我希望能够选择一个汽车品牌 - 比如说梅赛德斯 - 当我选择品牌时,我想要下一个选项仅是梅赛德斯系列而不是其他汽车系列。

这是迄今为止我的代码的表示:

class Brand(models.Model):
    brand = models.CharField(max_length=100)

class Series(models.Model):
    brand = models.ForeignKey(Brand, on_delete=models.CASCADE)
    series = models.CharField(max_length=100)

class Car(models.Model):
    brand = models.ForeignKey(Brand, on_delete=models.CASCADE)
    series = models.ForeignKey(Series, on_delete=models.CASCADE)
python django django-models
1个回答
0
投票

使用

ChainedForeignKey
 [readthedocs.io] 代替
django-smart-selects
[readthedocs.io]
:

from smart_selects.db_fields import ChainedForeignKey


class Car(models.Model):
    brand = models.ForeignKey(Brand, on_delete=models.CASCADE)
    series = ChainedForeignKey(
        Series,
        chained_field='brand',
        chained_model_field='brand',
        show_all=False,
        on_delete=models.CASCADE,
    )
© www.soinside.com 2019 - 2024. All rights reserved.