django-models(数据模型)
Posted baird
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django-models(数据模型)相关的知识,希望对你有一定的参考价值。
models.py用于创建数据模型
1、在settings.py -> INSTALLED_APPS 中注册对应的app
2、在models.py中创建数据模型类,必须继承models.Model。
1 class UserInfo(models.Model): 2 username = models.CharField(max_length=32) 3 password = models.CharField(max_length=32,null=False)
*python会自动生成名为id的主键列,自增
需要创建外键时:
1 fkey = models.ForeignKey(‘Table‘,‘PROTECT‘,to_field=‘id‘)
3、执行
manage.py makemigrations manage.py migrate
到此为止数据库中生成名为 AppName_UserInfo 的表
4、基础增删改查
1 from cmdb import models 2 3 def handle(request): 4 # 增加数据 5 models.UserInfo.objects.create( 6 username = "Baird", 7 password = "123" 8 ) 9 # 增加数据2 10 # obj = models.UserInfo( 11 # username = "Baird", 12 # password = "123" 13 # ) 14 # obj.save() 15 16 # 查找全部 返回QuerySet类型 UserInfo object 17 v1= models.UserInfo.objects.all() 18 for row in v1: 19 print(row.id,row.username,row.password) 20 21 # 查找全部 返回字典 22 v2= models.UserInfo.objects.all().values(‘id‘,‘username‘) 23 for row in v2: 24 print(row[‘id‘],row[‘username‘]) 25 26 # 查找全部 返回元祖 27 v3= models.UserInfo.objects.all().values_list(‘id‘,‘username‘) 28 for row in v3: 29 print(row[0],row[1]) 30 31 #条件查询 32 result = models.UserInfo.objects.filter(id=1) 33 for row in result: 34 print(row.id,row.username,row.password) 35 # 删除 36 # result.delete() 37 # 更新数据 38 result.update(password = "123456") 39 return HttpResponse(result) 40 return render(request,‘business.html‘,{‘v1‘:v1,‘v2‘:v2,‘v3‘:v3})
5、在templates中使用返回的查询
1 <h1>(QuerySet对象)</h1> 2 <ul> 3 {% for row in v %} 4 <li>{{ row.id }}-{{ row.caption }}-{{ row.code }}</li> 5 {% endfor %} 6 </ul> 7 <h1>(字典)</h1> 8 <ul> 9 {% for row in v2 %} 10 <li>{{ row.id }}-{{ row.caption }}-{{ row.code }}</li> 11 {% endfor %} 12 </ul> 13 <h1>(元组)</h1> 14 <ul> 15 {% for row in v3 %} 16 <li>{{ row.0}}-{{ row.1 }}-{{ row.2 }}</li> 17 {% endfor %} 18 </ul>
以上是关于django-models(数据模型)的主要内容,如果未能解决你的问题,请参考以下文章