Admin site could provide advanced features such as auto-complete and manual location on map using long/lat. The API should regularize addresses it receives.
Current behavior
The current address system is very basic. It should be more robust.
There are some feature missing like auto-complete using OpenStreetMap of GoogleMap on the admin site.
A map widget would also be useful on the admin site.
Addresses that are manually added are not verified, so there can be duplicates.
Potential solution
There are a couple of tools/resources available, although not all maintained.
libpostal : A C library for parsing/normalizing street addresses around the world. Powered by statistical NLP and open geo data.
django-address : A Django address model and field. Addresses may be specified by address components or by performing an automatic Google Maps lookup.
GeoDjango Model API : This document explores the details of the GeoDjango Model API.
Expected behaviour
Current behavior
Potential solution