Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 4, 2010 10:17:09

Kamber
От:
Зарегистрирован: 2010-05-05
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Связывание таблиц

Уважаемые Гуру…
Просмотрел предыдущие посты, но так и не догнал… как связать модели для вывода в шаблон…
Существует База1

class База (models.Model):					
Поле1 = models.IntegerField()
Поле2 = models.ForeignKey(Справочник)

class Справочник (models.Model):
Поле3 = models.CharField(max_length=150)
Нужно…вывести
Поле1, Поле3 для Поле1= 123
Просто вывести данные из Базы просто -
Набор = База.objects.filter(Поле1 = 123)
а вот как в этот набор включить Поле3.

Сорри за вопрос. На форуме написано много, но ответа я так и не нашел



Офлайн

#2 Июнь 4, 2010 11:19:04

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

Связывание таблиц

База.Справочник.Поле3

Офлайн

#3 Июнь 4, 2010 11:43:18

tmt
От:
Зарегистрирован: 2010-03-26
Сообщения: 51
Репутация: +  0  -
Профиль   Отправить e-mail  

Связывание таблиц

Очень доступно и познавательно:
http://docs.djangoproject.com/en/1.2/topics/db/queries/#related-objects



Офлайн

#4 Июнь 4, 2010 12:48:29

Kamber
От:
Зарегистрирован: 2010-05-05
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Связывание таблиц

helm2004
База.Справочник.Поле3
Все хорошо, но не могли бы Вы подсказать, как будет выглядеть вся конструкция…
Ваша строчка хороша… но мало информативна
Кроме того - она у меня не заработала



Отредактировано (Июнь 4, 2010 13:10:01)

Офлайн

#5 Июнь 4, 2010 13:19:41

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Связывание таблиц

Набор = База.objects.filter(Поле1=123).select_related()
Набор[0].Поле2.Поле3



Офлайн

#6 Июнь 4, 2010 13:20:14

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Связывание таблиц

Kamber
Уважаемые Гуру…
Я же Вас уже просил.



Офлайн

#7 Июнь 4, 2010 13:27:18

Kamber
От:
Зарегистрирован: 2010-05-05
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Связывание таблиц

Спасибо



Офлайн

#8 Июнь 4, 2010 14:19:16

minotavr_x86
От:
Зарегистрирован: 2010-05-21
Сообщения: 69
Репутация: +  0  -
Профиль   Отправить e-mail  

Связывание таблиц

А у меня по чему то так не получается пишет, что

'QuerySet' object has no attribute 'поле3'



Офлайн

#9 Июнь 4, 2010 15:25:53

Kamber
От:
Зарегистрирован: 2010-05-05
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Связывание таблиц

Оно получается… только не совсем так как было задумано… буду капать дальше..
Причем в случае, если нет записи…т.е. по Поле1 ни одной записи не обнаружено…
на Набор.Поле2.Поле3 вылетает ошибка.

Exception Type: IndexError
Exception Value: list index out of range

Так я и не понял, как сделать QuerySet (Поле1 (из База), Поле3(из Справочника)



Отредактировано (Июнь 4, 2010 15:33:44)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version