Получить все варианты полей в django - PullRequest
1 голос
/ 11 февраля 2020

Мне было интересно, можно ли получить все параметры поля одновременно в django.

Чтобы быть более ясным, скажем, у меня есть такая модель:

class TestClass(models.Model):
    uuid = models.UUIDField(
        default=uuid.uuid4,
        editable=False,
        unique=True)
    field1 = models.PositiveSmallIntegerField(
        validators=[MinValueValidator(0),
                    MaxValueValidator(50)],
        blank=False,
        null=False,
        verbose_name=_('Little description'),
        help_text=_('Little Help text'))
    field2 = models.CharField(
        max_length=250,
        blank=False,
        null=False,
        verbose_name=_('Verbose Name'),
        help_text=_('Help Text))

Я знаю, что могу сделать 'TestClass._meta.get_fields ()', чтобы получить все поля, присутствующие в моей модели, и их тип (например, PositiveSmallInteger, CharField).

Я также знаю, что могу сделать 'TestClass ._meta.get_field ('field1'). help_text 'и результатом будет' Little Help text '.

Я хочу знать, есть ли способ для поля получить все его опции одновременно что-то, что может выглядеть как 'TestClass._meta.get_field (' field1 '). options ()'. Или даже лучше для модели, чтобы получить все варианты всех областей сразу.

Сейчас я переопределю класс Field, но мне было любопытно

Спасибо!

1 Ответ

0 голосов
/ 11 февраля 2020

Вы пробовали встроенный Python __dict__? Пример:

TestClass._meta.get_field('field1')<b>.&#95;&#95;dict&#95;&#95;</b>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...