Django模型子类中相同的字段,不同的选择

2024-02-24

是否可以使用不同的choices对于模型的子类?下面的代码应该可以给你一个想法

class Clothing(models.Model):
    size = models.CharField(max_length=1)
    colour = models.CharField(max_length=1)

SHIRT_SIZES = {
    'S','Small',
    'M','Medium',
    'L','Large',
}

class TShirt(models.Model):
    size = models.CharField(max_length=1, choices=SHIRT_SIZES)

MENS_CHOICES = {
    'K','Black',
    'R','Red',
    'B','Blue',
}

class MensColours(models.Model):
    colour = models.CharField(max_length=1, choices=MENS_CHOICES)

class MensShirt(MensColours, TShirt):
    class Meta:
        verbose_name = "men's shirt"

WOMENS_CHOICES = {
    'P','Pink',
    'W','White',
    'B','Brown',
}

class WomensColours(models.Model):
    colour = models.CharField(max_length=1, choices=WOMENS_CHOICES)

class WomensShirt(WomensColours, TShirt):
    class Meta:
        verbose_name = "women's shirt"

我使用 mixins 的原因是我拥有可以在不同模型之间共享的属性/选择(例如,还有女式/男式裤子,它们可能具有与 T 恤相同的颜色选择,但尺寸选择不同)。但总的来说,所有衣服都有颜色和尺码。

我该怎么做?


不会。潜在的字段选择在父级中是固定的。您可以通过指定表单字段的有效选择来解决表单中的此问题,但无法更改模型字段的基本性质。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django模型子类中相同的字段,不同的选择 的相关文章

随机推荐