当前位置: 首页 > 网络应用技术

什么是Django外键(Django不使用外部钥匙连接表)

时间:2023-03-07 18:33:16 网络应用技术

  今天,首席CTO Note将与您分享Django外部钥匙与您有关的内容。其中,Django不会使用外部钥匙连接表。如果您可以解决您现在面临的问题,请不要忘记注意此网站。现在开始!

  本文目录清单:

  1.什么是django?2.如何在django管理员中显示外键3. django模型4中OneToOneField和foreferke之间有什么区别。由Python撰写。

  1. Django是一个由Python编写的开源代码的Web应用程序框架。MVC软件设计模式,Model M,View V和ControllerC。

  2.它最初是为了管理劳伦斯出版集团拥有的一些基于新闻的网站,即CMS(内容管理系统)软件。它于2005年7月根据BSD许可发布。

  3.该框架以比利时吉普车吉他手Django Reinhardt的名字命名。

  如何在Django管理员中显示外键

  定义专业类别中的默认__unicode __(self)方法,请参阅以下伪代码

  def __unicode __(self):

  DRETURN('学校:%S,大学:%S,专业:%s'%(自学学校,自学大学,自我。专业))

  一对一的是 - 一对一,而外国人是另外一对。

  ONETOONE的外部钥匙非常独特。

  Foreikey不一样,您可以记录多个外部键以指向相同的外部钥匙记录。

  1.首先用需要添加的外键确定数据格式,涉及几个表

  2.此数据格式的前端组件扩展到后端

  3.后端验证数据,外键的值与获得对象的请求分开

  4.使用添加添加外键的值

  r1 = prole.objects.get(requ_name = real)#r1指示更多的userInfo数据对

  u1 = userInfo(user_name = name,user_pwd =密码,sex = sex,sex,mobileno = mobile,email = email)

  u1.save()

  U1.Role.Add(R1)

  u1.save()

  Django将更多数据插入多个数据

  django2.0模型外键,一个-to -One on_delete参数

  在django2.0之后,定义外键和一个 - 到一个关系时,您需要添加on_delete选项。为了避免两个表中数据不一致的问题,将报告错误:

  TypeError:__init __()缺少1所需的位置参数:'on_delete'

  例如:

  user = models.onetoonefield(用户)

  所有者=型号。

  需要更改为:

  user = models.onetoonefield(用户,on_delete = models.cascade) - 旧版本(models.cascade)是默认值

  所有者= models.foreignkey(userProfile,on_delete = models.cascade)-thisyeeels.cascade in Old版本是默认值

  参数描述:

  on_delete有五个可选值:cascade,protect,set_null,set_default,set()

  级联:此值设置是关节删除。

  保护:此值设置将报告完整性错误。

  set_null:此值设置将把外部键设置为null,但前提是允许将其作为null。

  set_default:此值设置将设置外部键的默认值。

  set():此值设置,外部值称为一个函数。

  在正常情况下,使用级联。

  以下是官方文档描述:

  外国基金会接受其他论点,这些论点定义了相对工作方式的默认值。

  foreferkey.on_delete?

  

  user = models.foreignkey(user,models.set_null,空白= true,null = true,)

  自版本1.9:ON_DELETE的弃用将成为Django 2.0中所需的参数。在较旧的版本中,它默认了Tocascade。

  在django.db.models中找到了on_delete的帖子值:

  级联[来源]?

  级联删除。Django模拟SQL约束在删除级联反应上的行为,并删除包含外键的对象。

  保护[来源]?

  通过提高django.db.db.integrityerror的子类的保护来防止删除引用对象。

  set_null [源]?

  设置外国钥匙空;如果null isstrue,这是公开的。

  set_default [源]?

  将外国人设置为我的默认值;必须设置外国键的默认值。

  set()[源]?

  

  set(get_sentinel_user)),),),),)

  do_nothing [来源]?

  不采取行动。如果您的数据库返回执行引用参考完整性,则除非您手动向数据库添加sqlondeconstraint,否则这将导致IntegragrityError

  foreferkey.limit_choices_to?

  可以使用对象。

  对于Exmple:

  Staff_member = models.Foreignkey(用户,on_delete = models.cascade,limit_choices_to = {'is_staff':true},),)

  导致在themodelformto上提交的相应列表list hasthat hastis_staff = true。这可能对Django管理员有帮助。

  例如,与pythondateModule连接以限制按日期prime的选择时,呼叫表单可能会有所帮助。

  defLimit_pub_date_choices():return {'pub_date__lte':dateTime.date.utcnow()} limit_to = limit_date_choices_choices_choices

  

  笔记

  边缘案件多次,因此您的呼叫可能会宣传几次。

  结论:以上是主要首席技术官的所有内容,请注意什么是Django外部钥匙和Django。最喜欢该站点。