2015-04-27 1 views
2

Я изо всех сил пытаюсь понять, как присоединиться к столу в Peewee на основе довольно распространенного шаблона postgis для стола. Мне нужно присоединиться к таблице на основе функции postgis (st_contains). Я думаю, это будет выглядеть примерно так:Как присоединиться к пространственным функциям в Peewee?

Station.select().join(Location, on=fn.ST_Intersects(Station.geom, Location.geom)).where(Location.name == 'Ravenswood') 

выше запрос, если поддерживается, будет возвращать все станции в местопребывании имени Ravenswood. Эквивалент SQL будет:

SELECT station.name, station.district, station.line 
FROM station INNER JOIN location ON ST_Intersects(station.geom, loc.geom) 
WHERE location.name = 'Ravenswood'; 

К сожалению, мои эксперименты все, кажется, до конца с этим сокращенным TRACEBACK:

File "/Users/j.../python2.7/site-packages/peewee.py", line 1555, in generate_joins 
left_field = field.to_field 
AttributeError: 'NoneType' object has no attribute 'to_field' 

ли Peewee поддержку этого? Я не могу найти его в документации.

+0

Подключенное поколение Peewee проверено на наличие выражений, но не на вызовы функций. Я исправил эту ошибку в 61034c569e9679832327332aee0348a57a2b990c. Если вы используете master peewee, вы сможете запустить запрос сейчас. – coleifer

ответ

2

Подпись поколения Peewee проверена на наличие выражений, но не на вызовы функций. Я исправил эту ошибку в 61034c569e9679832327332aee0348a57a2b990c. Если вы используете master peewee, вы сможете запустить запрос сейчас.

 Смежные вопросы

  • Нет связанных вопросов^_^