Python 当定义了两个不同的ForeignKey和unique_时,如何减少一个ForeignKey的选项?
我有三种型号Python 当定义了两个不同的ForeignKey和unique_时,如何减少一个ForeignKey的选项?,python,django,django-admin,Python,Django,Django Admin,我有三种型号产品,衣服颜色和颜色 #products/models.py 类别产品(型号.型号): ... 类别颜色(models.Model): ... 类别颜色(models.Model): product=models.ForeignKey(产品,on_delete=models.CASCADE) color=models.ForeignKey(color,on_delete=models.CASCADE) ... 类元: 共同唯一=(‘产品’、‘颜色’、) 我想在ClothColor中
产品
,衣服颜色
和颜色
#products/models.py
类别产品(型号.型号):
...
类别颜色(models.Model):
...
类别颜色(models.Model):
product=models.ForeignKey(产品,on_delete=models.CASCADE)
color=models.ForeignKey(color,on_delete=models.CASCADE)
...
类元:
共同唯一=(‘产品’、‘颜色’、)
我想在ClothColor
中只允许产品和颜色的一种组合,所以我在Meta
类中使用了unique\u
。这个约束很有效
现在,我正在使用tablerinline
在管理面板中显示ClothColor
,这样就更容易添加产品及其颜色变化
#产品/admin.py
类ClothColorInline(管理列表行):
型号=衣服颜色
...
类ProductAdmin(admin.ModelAdmin):
...
内联线=(ClothColorInline,)
这就是我的长相
现在,当我将新颜色添加到clothColor
中的颜色字段时,它也会显示已使用的颜色
由于unique_together
约束它,因此它可以防止意外地填充同一颜色两次,但是如果已经使用了颜色,我需要一种方法来完全隐藏该选项
那么,当我已经使用了颜色字段时,如何减少颜色字段中的选项?在管理中插入js代码以操纵后续选择选项在管理中插入js代码以操纵后续选择选项