Use Django ORM as standalone [duplicate]
Solution 1:
Ah ok I figured it out and will post the solutions for anyone attempting to do the same thing.
This solution assumes that you want to create new models.
First create a new folder to store your files. We'll call it "standAlone". Within "standAlone", create the following files:
__init__.py
myScript.py
settings.py
Obviously "myScript.py" can be named whatever.
Next, create a directory for your models.
We'll name our model directory "myApp", but realize that this is a normal Django application within a project, as such, name it appropriately to the collection of models you are writing.
Within this directory create 2 files:
__init__.py
models.py
Your going to need a copy of manage.py from an either an existing Django project or you can just grab a copy from your Django install path:
django\conf\project_template\manage.py
Copy the manage.py to your /standAlone directory. Ok so you should now have the following structure:
\standAlone
__init__.py
myScript.py
manage.py
settings.py
\myApp
__init__.py
models.py
Add the following to your myScript.py file:
# settings.py
from django.conf import settings
settings.configure(
DATABASE_ENGINE = "postgresql_psycopg2",
DATABASE_NAME = "myDatabase",
DATABASE_USER = "myUsername",
DATABASE_PASSWORD = "myPassword",
DATABASE_HOST = "localhost",
DATABASE_PORT = "5432",
INSTALLED_APPS = ("myApp")
)
from django.db import models
from myApp.models import *
and add this to your settings.py file:
DATABASE_ENGINE = "postgresql_psycopg2"
DATABASE_NAME = "myDatabase"
DATABASE_USER = "myUsername"
DATABASE_PASSWORD = "myPassword"
DATABASE_HOST = "localhost"
DATABASE_PORT = "5432",
INSTALLED_APPS = ("myApp")
and finally your myApp/models.py:
# myApp/models.py
from django.db import models
class MyModel(models.Model):
field = models.CharField(max_length=255)
and that's it. Now to have Django manage your database, in command prompt navigate to our /standalone directory and run:
manage.py sql MyApp