В Django, когда необходимо отобразить содержимое объекта типа django.db.models.fields.TextField
в шаблоне, если этот объект обозначен как textfield
, мы можем отобразить его с помощью простой команды {{ textfield }}
.
Однако, исследуя код django.db.models.fields.TextField
, я не нашел никакого метода, возвращающего содержаниеTextField
. Действительно, проверяя django.db.models.fields.TextField
и его суперкласс django.db.models.fields.Field
, я не нашел ни одного метода, который бы выполнял эту работу.
Таким образом, существует ли такой метод возврата содержимого TextField
или даже Field
, иначе какие механизмы используются для его возврата?
Поля Django работают не так. Поля являются атрибутами класса, а не экземпляра, и используются для загрузки и сохранения значений из базы данных; атрибут экземпляра - это просто значение.
Я говорю об объекте TextField
. Возможно, я что-то неправильно понял, но TextField на самом деле является объектом, который создает экземпляр класса, а не просто атрибута. Класс: django.db.models.fields.TextField
. Пример использования: stackoverflow.com/questions/8204465/django-display-textfield s
Да, но это не то значение, которое хранится в самом экземпляре. Вы можете проверить: type(my_instance.textfield)
- это str
, а не TextField
.
Хорошо, думаю, я понял. Когда поля используются непосредственно из класса, то есть как атрибут класса, они используются как объекты Field
, но когда создается экземпляр того же класса, который владеет этими атрибутами Field
, тогда для этих атрибутов устанавливаются строки? Это оно?
Вы просто ссылаетесь на поле по имени переменной?