Аннотировать django поле - PullRequest
       0

Аннотировать django поле

1 голос
/ 08 января 2020

Можно ли добавить некоторые дополнительные аргументы к определению поля, чтобы я мог их проанализировать позднее, например:

class Item(models.Model):
    field = models.CharField(max_length=40, something='yes')

Позже:

for field_obj in Item._meta.fields[1:]: # ignore auto-pk
    field = field_obj.name
    something = field_obj.annotations['something']
    print (field, something)

1 Ответ

4 голосов
/ 08 января 2020

Вы можете добавить атрибут после определения поля

class Item(models.Model):
    field = models.CharField(max_length=40)
    field.something = 'yes'

Тогда он должен быть доступен в поле

Item._meta.get_field('field').something
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...