Получение значений из базы данных в виде списка - PullRequest
0 голосов
/ 24 июня 2011

У меня есть модель:

class TreeComment(models.Model):
   parent = models.ForeignKey('self', null=True, blank=True, verbose_name='Parent') 
   title = models.TextField(_('Title'), blank=True)

Я хочу позвонить TreeComment.objects.all() и поместить значения результатов в некоторый список:

for e in TreeComment.objects.all():
    some_list += e

Можно ли поместить все значения всписок, включающий родительское значение?

Не весь родительский объект, а только идентификатор (для предотвращения ненужных вызовов и объединений БД).После этого я буду обрабатывать его без вызовов БД внутри бизнес-логики.

Ответы [ 2 ]

2 голосов
/ 24 июня 2011

Если вы хотите вернуть запрос в виде списка, попробуйте

TreeComment.objects.values_list()

, который вернул бы [(1, u'some title'), ...] 1 в качестве родительского идентификатора, а u'some title - в качестве значения заголовка

значений_документов

0 голосов
/ 24 июня 2011

Я думаю, 2 решения

1) Вы создаете метод get_parent (self) внутри класса TreeComment. Тогда вы можете сделать это {% для элемента в some_list%} {{elem.get_parent.whwhat_method}} {% endfor%}

2) Вы можете использовать пользовательскую структуру, содержащую (, заголовок), а метод заполнения читает из вашего TreeComment.objects.all (), получает родительский элемент и заголовок и заполняет ваш список вашими пользовательскими парами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...