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

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

Похожие вопросы
Strikt Москва
от 100 000 до 180 000 ₽
ITK academy Саратов
от 75 000 ₽
Sim-Ba Pay Санкт-Петербург
от 180 000 ₽