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 %}