码迷,mamicode.com
首页 > 其他好文 > 详细

django-models(数据模型)

时间:2018-08-27 18:44:47      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:字典   使用   models   注册   and   length   cts   make   lis   

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(数据模型)

标签:字典   使用   models   注册   and   length   cts   make   lis   

原文地址:https://www.cnblogs.com/baird/p/9542551.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!