Django数据库操作
目录
- 数据库配置
- 实例化表(bean层)
- 增
- 删
- 改
- 查
- 序列化返回
- html使用
数据库配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test', # 使用的数据库名,
'USER':'root', # 用户名
'PASSWORD':'MysqlRoot', # 密码
'HOST':'localhost', # 数据库主机地址
'PORT':'3306' # 端口号
}
}
实例化表(bean层)
from django.db import models
class Business(models.Model):#自动创建ID列
caption = models.CharField(max_length=32)
code = mo dels.CharField(max_length=32)
province_id = models.TextField('province_id');
class Meta: #表前缀
db_table='City'
增
#1、
models.Business.objects.create(caption='市场部',code='123')
#2、
obj = models.UserInfo(caption='市场部',
code='123')obj.save()
#3、
dic = {'caption':'市场部','code':'123'}models.Business.objects.create(**dic)
删
models.Business.objects.filter(id=1).delete()
改
#1、
models.Business.objects.filter(id=1).update(code='hello')
#2、
obj = models.Business.objects.get(id=1)obj.code = 'hello'obj.save()
查
v1 = models.Business.objects.all() #QuerySet类型,内部元素都是对象
v2 = models.Business.objects.all().values("id","caption") #QuerSet类型,内部元素都是字典
v3 = models.Business.objects.all().values_list('id','caption') #QuerySet类型,内部元素都是元组
v4 = models.Business.objects.get(id=1) #获取一个队象,如果不存在就报错
v5 = models.Business.objects.filter(id=1) #QuerySet类型,内部元素是对象,id__gt=1获取所有id>1的数据,id__lt=10,获取所有id<10的数据
v6 = models.Business.objects.filter(id=1).first() #返回对象或者None
序列化返回
data = serializers.serialize("json", City.objects.all())
print(data)
return HttpResponse(data,content_type='application/json')
html使用
Document
ALL
{% for row in v1 %}
- {{row.id}}-{{row.caption}}-{{row.code}}
{% endfor %}
all.values
{% for row in v2 %}
- {{row.id}}-{{row.caption}}
{% endfor %}
all.values_list
{% for row in v3 %}
- {{row.0}}-{{row.1}}
{% endfor %}