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 #} {#人民出版社 #} {##} {# #} {%forbookinbook_list%}#--从数据库取到的数据是一个QuerySet集合,进行for循环,遍历出每个对象,2 #} {#水浒城 #} {#110 #} {#2011.1.1 #} {##} {#egon #} {#人民出版社 #} {#{%endfor%} {{book.id}} #---把每个对象的属性的值渲染出来,{{book.name}} {{book.price}} {{book.Date}} {{book.auth}} {{book.publish}}