数据库基本操作增删改查,数据库怎么实现增删改查

  数据库基本操作增删改查,数据库怎么实现增删改查

  

模型类实例方法

  添加、删除和修改数据表的操作由模型类实例方法完成。

  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 #指定图书信息表生成的数据表名为图书信息表

数据库基本操作增删改查,数据库怎么实现增删改查