тут всё не так просто, если я правильно понимаю ваш вопрос
Надо сделать запрет на создание обьекта на площади "занятой" уже существующим обьектом. Форма - круг.
На какой-то фактической площади может быть несколько обьектов, необходимо найти ближайшие к нему. Сейчас я это реализую просто выборкой filter(lat__range=(coord-delta, coord +delta)) ( и так же для lng) по координатам из бд.
delta сейчас фактически записана в админ таблице и является числом 0.009 и равна ~1км.
Так же там есть максимальный радиус объекта.
Логично что если соотнести максимальный радиус с дельтой с небольшой погрешностью то мы всегда будем находить подходящие по параметрам обьекты без избыточных данных.
Алгоритм прост:
Нахожу расстояние между цетрами кругов и проверяю чтоб оно было больше суммы радиусов кругов.