数据库基本操作增删改查,数据库怎么实现增删改查
模型类实例方法
添加、删除和修改数据表的操作由模型类实例方法完成。
Save():将模型对象保存到数据表中,ORM框架将映射到相应的insert或update语句中。
Delete():从数据表中删除模型对象,ORM框架会映射到相应的delete语句。
示例练习:将“天龙八部”插入书单
修改urls.py文件并添加一个路由:URL (cure ,views.cure),
修改views.py文件并添加cure()函数。
在app_bookinfo表中插入记录
Def cure(request): b=BookInfo() #创建一个绘图对象b.btitle=天龙八部 #添加属性值ab . bpub _ date=date(1990年10月11日)b.save () #映射到insert语句返回HttpResponse(执行结束)
《红楼梦》的上映日期被修改为1987年8月15日。
def cure(request):b=book info . objects . get(btitle=红楼梦)b . bpub _ date= 1987-08-15 b . save()#映射到更新语句return HttpResponse(执行结束)
把健忘项链加到龙和八分上。
DEF CURE(request):p=person info()p . pname=遗忘的项链 p.pgender=False p.pcomment=十八掌之龙 B2=book info . objects . get(b title=天龙八部)p.hbook=b2 #外键赋值,它指定了book p.save()返回HttpResponse(执行结束)的字符对象。
删除名为持久日记的记录。
def cure(request):p=person info . objects . get(pname= persistent diary )p . delete()return http response( end of execution )管理器(Manager)
管理器是Django模型进行数据库操作的接口,Django应用的每个模型类至少有一个管理器。
Django通过继承模型来定制管理器。经理类。
自定义管理器类主要用于两种情况:
修改原始查询集并覆盖all()方法。
向manager类添加其他方法,例如将数据插入数据库。
修改原始查询集并覆盖all()方法。
示例演练:默认情况下查询取消删除的图书信息。
a)修改models.py文件以定义管理器类BookInfoManager。
class info manager(models . manager):def all(self):return super()。全部()。filter (isdelete=false) b)在模型类BookInfo中定义manager对象。
class info(models . model):bookm=bookinfo manager()# manager object.c)修改views.py文件,并使用管理器对象bookm调用all()方法(如果再次使用对象,将会出现错误)
def(request):b=bookinfo . bookm . get(id=1).三国演义给manager类增加了额外的方法
在操作模型类的数据表时,建议将这些操作方法封装起来,放在模型管理器类中。
示例演练:添加创建Book类对象的方法
a)修改models.py文件中的管理类BookInfoManager,添加方法create_book(),通过参数传递对象属性。
类BookInfoManager(模型。Manager): def create_book(self,title,pub_date): book=self.model() #使用self.model获取模型类对象book . b title=title book . bpub _ date=pub _ datebook . bread=0 book . b commet=0 book . is delete=false book . save()#将数据插入数据表return book #返回创建的对象b)在模型类BookInfo中定义Manager对象。
class info(models . model):bookm=bookinfomanager()# manager object.c)修改views.py文件,并使用管理器对象bookm调用create_book()方法。
def index(request):bookinfo . bookm . create _ book( Python ,date(2019,1,1)).模型类的属性
对象:它是模型的对象。管理器类型,是用于与数据库交互的管理器。
当模型类没有定义管理器时,Django将自动生成一个名为objects的管理器。
定制管理器后,Django不再生成默认的对象管理器。
元选项
在模型类中定义类元,用于设置元信息。
示例演练:自定义数据库中自动生成的数据表名称
数据表的默认名称为:app_name_model_name,例如:app_bookinfo
在模型类BookInfo中,元选项db_table用于将数据表名称定义为bookinfo。
类别BookInfo(模型。型号):类别元:#定义元选项db_table=bookinfo #指定图书信息表生成的数据表名为图书信息表
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。