from django.db import models
class TableName(models.Model):
name = models.CharField(max_length=30)
age = models.IntegerField()
date = models.DateField()
def __unicode__(self): #__str__ python3.x
return self.name
class Meta:
#不加Meta类的话,表名为“AppName_TableName”,按下列加的话表明为TableName
db_table = "TableName"
#一个 DateField 或 DateTimeField 字段的名字. 若提供该选项, 该模块将拥有一个 #get_latest() 函数以得到 "最新的" 对象(依据那个字段):
get_latest_by = "date"
使用mysql。在setting.py中修改相应设置

进入mysql新建数据库mysite(对应NAME)
然后在project目录中
>>>python manage.py makemigrations
>>>python manage.py migrate
同步数据库,自动创建表TableName
对数据库进行修改后也要如上同步数据库
数据库的修改:
(1)在终端进行操作
>>>python manege.py shell
>>>from App_Name.models import TableName
>>>TableName.objects.create(name=‘name‘,age=age,date=‘YYYY-MM-DD‘)
(2)在文件中加入TableName.objects.create(name=‘name‘,age=age,date=‘YYYY-MM-DD‘)进行添加。
(3)直接执行mysql语句
django.db.connection:代表默认的数据库连接
django.db.transaction:代表默认数据库事务(transaction)
用database connection调用 connection.cursor() 得到一个游标(cursor)对象。
然后调用 cursor.execute(sql, [params]) 执行SQL
cursor.fetchone() 或者 cursor.fetchall(): 返回结果行
如果执行修改操作,则调用 transaction.commit_unless_managed()来保证你的更改提交到数据库。
def my_custom_sql():
from django.db import connection, transaction
cursor = connection.cursor()
# 数据修改操作——提交要求
cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz])
transaction.commit_unless_managed()
# 数据检索操作,不需要提交
cursor.execute("SELECT foo FROM bar WHERE baz = %s", [self.baz])
row = cursor.fetchone()
return row
原文:http://www.cnblogs.com/LuoDa/p/5404259.html