Приветствую еще раз
Подскажите есть ли готовое решение для того чтобы сделать поиск по полям таблицы(нескольких таблиц) /реализованное с помощью SQLObject/SQLAlchemy
Есть ли решения для поиска для TG?
Владимир
SmartKiwiдокументация == http://sqlobject.org/SQLObject.html
+ хочется языка запросов (хотя бы с поддержкой логики AND OR)
from sqlobject.sqlbuilder import EXISTS, Select select = Test1.select(EXISTS(Select(Test2.q.col2, where=(Outer(Test1).q.col1 == Test2.q.col2))))
MyTable.select((MyTable.q.name + MyTable.q.surname) == u'value')
MyTable.select(u'value' == MyTable.q.name) MyTable.select(MyTable.q.name <> u'value') MyTable.select(OR(MyTable.q.col1 == u'value1', MyTable.q.col2 <> u'value2')) MyTable.selectBy(name = u'value') MyTable.selectBy(col1=u'value1', col2=u'value2') MyTable.byCol1(u'value1') # if col1 is an alternateID
peeps = Person.select(Person.q.firstName=="John")
>>> peeps = Person.select(
... AND(Address.q.personID == Person.q.id,
... Address.q.zip.startswith('504')))
>>> list(peeps)
1/Select : SELECT person.id, person.first_name, person.middle_initial, person.last_name FROM person, address WHERE ((address.person_id = person.id) AND (address.zip LIKE '504%'))
1/COMMIT : auto
[]
>>> peeps = Person.select("""address.id = person.id AND
... address.zip LIKE '504%'""",
... clauseTables=['address'])
peeps = Person.selectBy(firstName="John", lastName="Doe")
Exported Symbols
You can use from sqlobject import *, though you don't have to. It exports a minimal number of symbols. The symbols exported:
From sqlobject.main:
* NoDefault
* SQLObject
* getID
* getObject
From sqlobject.col: * Col * StringCol * IntCol * FloatCol * KeyCol * ForeignKey * EnumCol * DateTimeCol * DateCol * TimeCol * DecimalCol * CurrencyCol
From sqlobject.joins: * MultipleJoin * RelatedJoin
From sqlobject.styles: * Style * MixedCaseUnderscoreStyle * DefaultStyle * MixedCaseStyle
From sqlobject.sqlbuilder:
* AND
* OR
* NOT
* IN
* LIKE
* DESC
* CONTAINSSTRING
* const
* func
from sqlobject.sqlbuilder import LEFTJOINOn MyTable.select( join=LEFTJOINOn(Table1, Table2, Table1.q.name == Table2.q.value))
SmartKiwihttp://cheeseshop.python.org/pypi/TurboLucene/ не подойдет?
Есть таблица со свойствами товаров, каждое свойство храниться в соотв поле.
Нужен поиск подстроки по всем полям таблицы.