То же поле, разные варианты выбора в подклассах модели Django

Можно ли использовать разные варианты для подклассов модели? Следующий код должен дать вам представление

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"

Причина, по которой я использую миксины, заключается в том, что у меня есть атрибуты / варианты выбора, которые могут использоваться разными моделями (например, также наличие женских / мужских s брюки, которые могут иметь тот же цвет, но другой размер, чем футболки). Однако в целом вся одежда имеет цвет и размер.

Как мне это сделать?

9
задан Pureferret 27 January 2015 в 01:18
поделиться