Django 管理面板:在多对多列表中选择一个组

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

我有3个型号如下:

class ColorGroup(models.Model):
    name = models.CharField(max_length=255)

class Color(models.Model):
    color_group = models.ForeignKey(ColorGroup)
    name = models.CharField(max_length=255)

class Item(models.Model):
    colors = models.ManyToManyField(Color)

对于我的项目,我需要在管理面板中为我的项目添加/删除颜色。目前我必须将它们一一添加。但在很多情况下,我想一次设置 ColorGroup 中的所有颜色(也可能选择其他颜色)。

例子:我想要我的商品是橙色、黄色和所有蓝色系的颜色(包括蓝绿色、海军蓝等)

有没有办法在 ManyToMany 列表中同时显示颜色和颜色组,如果我选择一个组,它会自动选择该组的所有颜色?

我检查了这个问题但是smart_select似乎不允许颜色和组颜色选择。

编辑:我现在想到的解决方案是在项目中添加一个字段“颜色组”,让用户在另一个列表中选择该组。然后在后端处理逻辑。但我想避免增加数据库的复杂性和冗余性

django django-rest-framework many-to-many
© www.soinside.com 2019 - 2024. All rights reserved.