I have been looking at Django for several projects. I've been looking at implementation details including hosting and database.
database options for Django and have settled on PostGIS as in PostgresSQL with GIS support.
https://stackoverflow.com/questions/3743632/gis-postgis-postgresql-vs-mysql-vs-sql-server
In general I have found reading through the following helpful
https://www.digitalocean.com/community/tutorials/how-to-create-a-django-app-and-connect-it-to-a-database
https://djangobuilder.io/#/
http://darrenoneill.co.uk/post/using-postgis-and-geodjango-find-nearest-neighbour/
https://medium.com/@amirm.lavasani/classic-machine-learning-in-python-k-nearest-neighbors-knn-a06fbfaaf80a
https://www.geeksforgeeks.org/find-the-nearest-node-to-a-point-using-osmnx-distance-module/
https://github.com/fabiocaccamo/django-treenode
https://github.com/peopledoc/django-ltree-demo
https://stackoverflow.com/questions/38921444/modelling-a-polymorphic-tree-with-django-treebeard
https://dev.to/pawnsapprentice/postgresql-in-geospatial-applications-unleashing-the-power-of-location-data-4jan
https://github.com/gboeing/osmnx
https://github.com/feincms/django-tree-queries
https://django-treebeard.readthedocs.io/en/stable/
Find adjacent language equals
Weight algorithm: Node edge in lang-tree = .5, overlapping GIS = .20, adjacent GIS edge = .25