Short Question 1
What constitutes a production environment defined in Django’s documentation about 1/2 the way through?
Short Question 2
Is there any documented cases of the admin interface corrupting the database if multiple people access the DB simultaneously?
Background
I have used Django as an ORM for a PostgreSQL server. Because the app’s primary use is an ORM, it runs on the client machine to talk to a remote server. Thus far to access the admin web interface I run python manage.py runserver which hosts a small web server on my local host (127.0.0.1:8000) to access it.
This approach has worked except that anytime I need to fix a data entry or look something up, I have to be on a machine that has the application installed / running on it. My fix for this was to launch the application’s admin interface from the Ubuntu server and give it a real IP address. Note that the real IP address is on our local intranet and is behind a firewall. I tested simultaneous access with two people with no issues, seeing no errors I added this python process as a system process via Ubuntu’s Upstart.
A long term goal would be to install Apache and Mod_WSGI to host the application. However with such a small team (3 people at any given time), is it even necessary to go through the hassle? Note that if we ever opened this up to the outside world, the question becomes moot and Apache is a must.
If you’re not using the development server for development of the django project, it sounds like production to me. Is deploying your application with Apache and mod WSGI worth the hassle? That’s up to you, but the advice of the Django developers is pretty unambiguous.
For your second question, I’m not sure what you mean by ‘corrupted’. If two users are changing the same object at the same time, the second user to save can inadvertently revert the first user’s changes:
Consider two users editing the same
Person. The first user changes the first name, then the second user changes the second name. Because the second user loaded the change page before the first user saved, the first name is changed back to Joe.