Thursday, July 2, 2015

Re: Django model for non web applications


On Thu, Jul 2, 2015 at 12:50 AM, Jeff Fritz <jefffritz@gmail.com> wrote:
I'm fairly new to Django and making my way through the tutorial.

Knowing what I've learned so far, I'd like to explore using django.db.models.Model in a non-web application. I'd like to take the entire model layer and use it for database access in a standalone, multithreaded python 3.4 application. It is not a web application. I would like to be able to take advantage of the migration capabilities in manage.py.

Questions:

1. Is it as simple as adding `from djanago.db import models`? Would this bring in any unnecessary django packages/modules, considering I will not be developing a web application, not using views, templating, etc?

It's *almost* this simple - you will also need to configure your Django environment before you start making database calls. If you're looking to do this in a *completely* "non-web" way, this probably means a call to settings.configure(); details here:

 
2. Is the django model layer thread safe? Specifically, when using sqlite3 as a back end?

It should be - after all, web servers are frequently multi-threaded. SQLite3's performance under multithreading, however, might leave something to be desired.
 
3. Are there other clean ORM/database model layer frameworks/packages that I should consider for python 3.4?
 
The other obvious candidate would be SQLAlchemy; it's a perfectly fine ORM - without any of the other web framework overhead. It's a lot more like a "SQL building toolkit" than Django's ORM - whether this is a good or bad thing depends on your own preferences and use case.

Yours,
Russ Magee %-)

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAJxq848qKXu3GT6kpwLzvd1-V-a6eTjw%2BByY-XATTk1DiKVpGQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment