标签:
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