Same field, diferentes opciones en las subclases de modelos de Django
¿Es posible usar diferenteschoices
para subclases de modelos? El siguiente código debería darle una idea
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"
La razón por la que estoy usando mixins es que tengo atributos / opciones que se pueden compartir entre diferentes modelos (por ejemplo, también tengo pantalones para mujeres / hombres, que pueden tener las mismas opciones de color pero diferentes opciones de tamaño que las camisetas). Sin embargo, en general, toda la ropa tiene un color y una talla.
¿Cómo debería hacer esto