Начало
работы над приложением
393
Команда
python
manage.py
shell
(выполняемая в активной виртуальной среде)
запускает интерпретатор Python, который может использоваться для работы с ин-
формацией в базе данных проекта. В данном случае мы импортируем модель
Topic
из модуля
learning_logs.models
. Затем метод
Topic.objects.all()
используется
для получения всех экземпляров модели
Topic
; возвращаемый список называется
итоговым набором
(queryset).
Содержимое итогового набора перебирается точно так же, как и содержимое спи-
ска. Например, просмотр идентификаторов, назначенных каждому объекту темы,
выполняется так:
>>>
topics = Topic.objects.all()
>>>
for topic in topics:
...
print(topic.id, topic)
...
1 Chess
2 Rock Climbing
Итоговый набор сохраняется в
topics
, после чего выводится атрибут
id
каждого
объекта
topic
и его строковое представление. Мы видим, что теме
Chess
присвоен
идентификатор 1, а
Rock
Climbing
присвоен идентификатор 2.
Зная идентификатор конкретного объекта, можно получить этот объект и проана-
лизировать содержащиеся в нем атрибуты. Просмотрим значения
text
и
date_added
для темы
Chess
:
>>>
t = Topic.objects.get(id=1)
>>>
t.text
'Chess'
>>>
t.date_added
datetime.datetime(2015, 5, 28, 4, 39, 11, 989446, tzinfo=
)
Также можно просмотреть записи, относящиеся к конкретной теме. Ранее мы
определили атрибут
topic
для модели
Entry
. Он был экземпляром
ForeighKey
,
представляющим связь между записью и темой. Django может использовать эту
связь для получения всех записей, относящихся к некоторой теме:
>>>
Достарыңызбен бөлісу: