django的ORM操作 增加和查询
ORM对象关系映射
在数据库中,实现对数据的增删改查,使用的是SQ语句,
在django中,通过python代码,实现对数据库的增删改查,这就是ORM。
在python中,用类名代表django数据库的表名,
用对象,代表django数据库的一条记录,
ORM就是封装了SQ语句,给对象进行增删改查,实现对数据库的操作,
在settings文件中,默认了splite的数据库,自己可以修改
DATABASES={
'default':{
'ENGINE':'django.db.backends.sqlite3',
'NAME':os.path.join(BASE_DIR,'db.sqlite3'),
}
}BASE_DIR是代表当前的文件夹settings,
django对数据库的迁移,只需要修改配置即可,
===
在model文件中,设计表,,
fromdjango.dbimportmodels #Createyourmodelshere. #继承来自models, classBook(models.Model): name=models.CharField(max_length=32) price=models.IntegerField() Date=models.DateField() auth=models.CharField(max_length=32) publish=models.CharField(max_length=32)
命令台执行命令。
pythonmanage.pymakemigrations pythonmanage.oymigrate
生成数据库表
在template,写一个主页index.html文件,用于显示添加后书籍
{%loadstaticfiles%}#------引用静态文件
Title
#---导入bootstrap文件
添加书籍
ID
书名
价格
出版日期
作者
出版社
{##}
{#1 #}
{#水浒城 #}
{#110 #}
{#2011.1.1 #}
{##}
{#egon #}
{#人民出版社 #}
{# #}
{##}
{#2 #}
{#水浒城 #}
{#110 #}
{#2011.1.1 #}
{##}
{#egon #}
{#人民出版社 #}
{# #}
{%forbookinbook_list%}#--从数据库取到的数据是一个QuerySet集合,进行for循环,遍历出每个对象,
{{book.id}} #---把每个对象的属性的值渲染出来,
{{book.name}}
{{book.price}}
{{book.Date}}
{{book.auth}}
{{book.publish}}
{%endfor%}