Форум сайта python.su
Нужно из такой, к примеру, таблицы:
table1
=============
id kod name
1 1.1 а
2 1.1.1 а1
3 1.1.2 а2
4 1.1.2.1 а21
5 2 б
6 2.1 к
7 2.1.2 п
=============
выбрать все строки с кодами “1.1.х” - т.е., включая строки 2 и 3, но не включая 4 (с кодом 1.1.2.1). Следующее выражение:
table1.objects.filter(kod__contains=“1.1.”)
или
table1.objects.filter(kod__startswith=“1.1.”)
выберет строки 2-4 - подставит в SQL select .. like “%1.1.%”(или “1.1.%”), а нужно select .. like “1.1._”
Возможно сделать вышеописанное без использования raw SQL?
Отредактировано (Апрель 16, 2010 22:10:00)
Офлайн
lorien, спасибо за советы. Пройдусь по таблице, сделаю доп. поле - глубину. Видимо, это будет лучшим решением.
З.Ы. Насчет django-treebeard. Почитав доки, не понял - можно ли прикрутить ее к уже готовой модели?
Офлайн