python django orm,python中orm框架

  python django orm,python中orm框架

  知道数据库有外键关联,django也可以这样做。创建一个类。

  从django.db导入模型

  用户组(models.model):

  Pid=models . autofield(primary _ key=true)#要创建独立的ID主键,必须设置参数。

  caption=models . char field(max _ length=60)).

  cime=models . datetime field(auto _ now _ add=True,null=True)的添加时间# data

  utime=models . datetime field(auto _ now=True,null=True) # data的修改时间

  您必须继承models.model才能创建classuserinfo(models。型号):#类。

  #django会自动创建id列并自己添加。

  #指定创建用户名、字符串类型和长度。

  username=models.char字段(max _ length=32)).

  password=models.char字段(max _ length=64)).

  user _ group=models.foreign key(用户组),to_field=pid),default=1,on_delete=models。级联)

  # User _ group被列为用户组1。

  君的django版本是3.0.5,需要添加on_delete参数。否则,它将报告:typeerror: init(缺少1个请求位置警报3360 on _ delelent)

  on_delete中每个参数的含义如下:

  On_delete=None,#从关联表中删除数据时,与当前表关联的字段的行为

  On _ delete=模型。级联,#删除相关数据,也删除相关数据。

  删除on_delete=models。什么都不做,#相关数据,什么都不做。

  On _ delete=模型。保护,#相关数据,导致错误保护错误。

  #型号。ForeignKey(相关表),on_delete=models。SET_NULL,blank=True,null=True)))))。

  On _ delete=模型。SET_NULL,#删除相关数据并将相关值设置为NULL。(前提FK字段必须设置为空,这与一对一相同。)

  #型号。ForeignKey(关系表),on_delete=models。SET_DEFAULT,default= default))

  删除与on_delete=models关联的数据。SET_DEFAULT,#并将与之关联的值设置为默认值。(与一对一相同,前提是必须在FK字段中设置默认值。)

  删除on_delete=models。设置,#相关数据,

  A.与之相关的值被设置为指定值,设置:模型。SET(值))。

  B.相关值设置为可执行对象的返回值,设置为:models。SET(可执行对象))。

  现在,通过输入命令创建数据库表没有任何问题。userinfo表与用户组表相关联,就像它与数据库相关联一样。User_group_id列在数据库的userinfo表中。写user_group。Django在user_group后面添加id,为我们存储数字id。

  您可以通过以下方式查看用户组表中的信息:

  user _ list=models . userinfo . objects . all(

  对于user_list中的用户:

  打印(用户.用户组标识)

  print(user . user _ group(# user _ group封装了用户组对象)

  Print (user.user _ group.caption)。

  Print (user.user _ group.ctime)。

  获取相关表用户组的数据非常简单。django在内部为我们实现了左连接和右连接。我们不需要写这么多句子。根据会议用户的管理添加用户组信息,提取数据后也就是说用户组的caption的部门信息可以显示在userinfo上!现在,我们来看看如何实现基于DjangoORM外键的用户增长操作。方法和以前一样。这里对外键的更改需要注意。

  未经允许不得转载。作者:鳄鱼君,

  或转载复制,请以超链接形式注明鳄鱼君出处。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: