Я новичок в программировании, и я хотел бы получить доступ к функции get_FOO_display()
для приведенной ниже модели, прежде чем иметь какие-либо объекты (записи в базе данных). Я знаю, что могу использовать SubOrder.EXTRA_CHOICES
и SubOrder._meta.get_field()
, но в обоих случаях я получаю список возвращенных кортежей (M, 'Mushrooms'), (P, 'Peppers'), etc
.
Как я могу получить Mushrooms, Peppers, etc.
в виде списка?
Я пытался SubOrder._meta.get_extra_display()
, но я получаю 'Options' object has no attribute 'get_extra_display'
: *1012* - Django Model _meta API, похоже, не позволяет этого. Моя модель ниже:
class SubOrder(Sub):
item_id = models.ForeignKey(Item, on_delete=models.CASCADE, primary_key=True, related_name="sub_item_id")
extra_count = models.IntegerField(default=0, validators=[MaxValueValidator(4), MinValueValidator(0)])
MUSHIES = 'M'
PEPPERS = 'P'
ONIONS = 'O'
XTRCHEESE = 'C'
EXTRA_CHOICES = ((MUSHIES, 'Mushrooms'), (PEPPERS, 'Peppers'), (ONIONS, 'Onions'), (XTRCHEESE, 'Extra Cheese'),)
extra = models.CharField(max_length=1, choices=EXTRA_CHOICES, blank=True)