3.3.orm介绍与model设计
无ORM
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' )
cursor = db.cursor() # 使用cursor()方法获取操作游标
cursor.execute("SELECT VERSION()") # 使用execute方法执行SQL语句
data = cursor.fetchone() # 使用 fetchone() 方法获取一条数据
print "Database version : %s " % data
db.close() # 关闭数据库连接使用django的Model
编写model
message/models.py
from django.db import models
class UserMessage(models.Model):
name = models.CharField(max_length=20, verbose_name='用户名')
email = models.EmailField(verbose_name='邮箱')
address = models.CharField(max_length=100, verbose_name='联系地址')
message = models.CharField(max_length=500, null=True, blank=True, default='', verbose_name='留言信息')
object_id = models.CharField(max_length=50, primary_key=True, default='', verbose_name='id')
class Meta:
db_table = 'user_message' # 表名,默认为{app名}_{model名}
ordering = ('-object_id',) # 按object_id倒序排列
verbose_name = '用户留言信息' # 注释信息,会自动加上s,表示复数
verbose_name_plural = verbose_name # 注释信息,会自动加上s,表示复数注册models
hello_django/settings.py
生成数据表
model的增删查改
添加数据
删除数据
查询所有数据
按条件查询
按条件模糊查询
注意:icontains中的 i 代表忽略大小写
排序
按点击数排序,取前三条记录
Last updated
Was this helpful?