Bobsans
@Bobsans
Full-Stack Developer

Как оформить запрос в БД при помощи Django ORM?

Доброго времени суток.

Столкнутся с проблемой выбора из базы при помощи функций PostgreSQL. Есть на постгресе функция "poly_contain_pt", которая проверяет находится ли точка в полигоне. И есть данные: точки полигона.

Есть модель record, вида:
class Record:
    name = models.CharField(max_length=255)
    location = LocationField()

LocationField сам дописал. Это постресовский ARRAY с двумя элементами (x, y).

Навоял вот такую штуку, работает:
SELECT * FROM record 
WHERE poly_contain_pt(
    POLYGON(PATH '((56,28),(56,30),(55,31),(54,31),(54,32),(53,32),(53,33),(52,32,(52,32))'), 
    POINT(location[2], location[1])
);


Можно ли при помощи Django ORM это как-то описать? В документации мало чего нашел, в гугле много чего уже не рабочего. Спасибо.
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 1
Guest007
@Guest007
Django, Python, Linux и всё такое...
Django + PostGIS = https://docs.djangoproject.com/en/2.2/ref/contrib/...
Замечательно вместе скрещивается. Сразу и соответствующие поля в моделях и гео-методы доступны без танцев с бубном. Вычисление вхождения точки в фигуру и прочее - на раз. Я так делал. Так что можно не городить своё. Ну, если только очень хочется.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы