LINUX.ORG.RU

Django: несколько таблиц


0

0

Вопрос, конечно, тупой, но я чёт застопорился. Перечитал в документации все, что связано с БД, но то ли лыжи не едут...

Как сделать выборку из нескольких таблиц? Например:

select t1.name, t2.title, t2.text
from t1, t2
where t2.t1_fk=t1.id

Как такое сделать средставми Django?

★★★

Как в Django - не знаю... Но до сих пор матерюсь, периодически вычищая такой код от предыдущего программиста в проекте, в котором сейчас работаю :)

from t1 left join t2 on t2.t1_fk=t1.id

Или inner join, если нужно не объединение, а пересечение множеств.

Иначе на любой сколь-нибудь крупной таблице начинается filesort - и кранты.

...

Кстати, мне в свете оценки возможности использования Django сабжевый вопрос тоже интересен. А также - можно ли вытаскивать данные объектов по более сложным условиям. Например, в духе

field = select value from data where key='something' and type='enum'

, где этот 'enum' хотя бы фиксирован для данного класса. А то тяжёлое наследство старых форматов данных. Мой-то ORM с такими вещами справляется, но он на PHP. А полезно думать о будущем. При этом не хочется перелопачивать базы на новые принципы...

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Это я привел в качестве простейшего примера.

По сложным условиям django выбирать умеет. Насколько я понял, там эти условия добавляются последовательно, т.е. используется цепочка фильтров. Как это работает изнутри, пока не разбирался

friday ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.