django 对于mysql的常用操作(使用orm)

对于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")

 

  

 

posted @ 2018-08-01 17:25  芒果先生丶  阅读(240)  评论(0编辑  收藏  举报