准备工作
postgresql_psycopg2 :, http://initd.org/projects/psycopg2
mysql : http://sourceforge.net/projects/mysql-python
sqlite3: http://initd.org/tracker/pysqlite
ado_mssql : http://adodbapi.sourceforge.net/
配置数据库
DATABASE_ENGINE必须是下面的字符串集合:
设置 数据库 需要的适配器
postgresql PostgreSQL psycopg version 1.x, http://initd.org/projects/psycopg1
postgresql_psycopg2 PostgreSQL psycopg version 2.x, http://initd.org/projects/psycopg2
mysql MySQL MySQLdb, http://sourceforge.net/projects/mysql-python
sqlite3 SQLite No adapter needed if using Python 2.5+ Otherwise, pysqlite, http://initd.org/tracker/pysqlite
ado_mssql Microsoft SQL Server adodbapi version 2.0.1+, http://adodbapi.sourceforge.net/
oracle Oracle cx_Oracle, http://www.python.net/crew/atuining/cx_Oracle/
指出数据库文件的完整的文件系统路径,如'/home/django/mydata.db'

cursor = connection.cursor()
如果没有错误产生说明我们配置的没有问题如图:

编写模型
app的模型和视图

from django.db import models
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website = models.URLField()
class Author(models.Model):
salutation = models.CharField(max_length=10)
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
然后我们在settings.py中设置映射,让django为我们生成相应的sql





你可以覆盖这个行为
4.外键关系由显式的REFERENCES语句来完成
aotu_increment(MySQL),serial(PostgreSQL),或者integer primary key(SQLite)会自动为你处理