对于django而言,操作数据库基本上使用它提供的orm,原生的sql 也支持,在此我们讨论orm
我们 先创建一个数据库
创建 test 数据库
class Test(models.Model): """ Test INFO LIST """ name = models.CharField(u"nams", max_length=100, default='')
操作添加
from models import Test # 增加 name = "sky" test = Test() test.name= name test.save()
操作改数据没有,添加,如果有,更改
from models import Test
import traceback
name = "sky"
try:
test = Test(name=name)
except Exception:
test = Test()
test.name = name
test.save()
还有一种增加的方式
from models import Test
models.User.objects.create(name='sky')
dic = {'name': 'sky',}
Test.objects.create(**dic)
对于 查询来说,比较常用的就是三种,都是queryset 的类型
from models import Test
v1 = Test.objects.all()
# QuerySet ,内部元素都是对象
# QuerySet ,内部元素都是字典
v2 = Test.objects.all().values('id','caption')
# QuerySet ,内部元素都是元组
v3 = Test.objects.all().values_list('id','caption')
# 因为对象不能详细观察,我经常使用一下方法进行操作
v4 = Test.objexts.filter(name="sky").values()
再对v4 进行操作
对于原生的sql
Test.objects.raw("select * from Test limit 2")