Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Фильтр contains/startswith и единичный символ подстановки [RSS Feed]

#1 Апрель 16, 2010 22:09:38

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

Фильтр contains/startswith и единичный символ подстановки

Нужно из такой, к примеру, таблицы:
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)

Офлайн

#2 Апрель 18, 2010 09:14:45

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

Фильтр contains/startswith и единичный символ подстановки

lorien, спасибо за советы. Пройдусь по таблице, сделаю доп. поле - глубину. Видимо, это будет лучшим решением.

З.Ы. Насчет django-treebeard. Почитав доки, не понял - можно ли прикрутить ее к уже готовой модели?



Офлайн

  • Начало
  • » Django
  • » Фильтр contains/startswith и единичный символ подстановки[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version