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

如何在Django中分发多个表(Django多表联合查询)

时间:2023-03-06 17:00:36 网络应用技术

  今天,我将与您分享如何分发Django多个表。其中,将解释Django多表的联合查询。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  本文目录清单:

  1. DJANGO分为表2. Django表协会对象和多表格查询3. Python + Django多表可查询方法寻求建议4. DJANGO多表可换界查询5,Django如何实现列表分页表是非常常见的操作。

  需要将表格分为表的定义表:

  创建一个新表:

  查询数据:

  第一个构建学生,分区,课程,stu_info表

  添加一对多表的关系数据:

  1.第一种方法是将其添加为上一个方法。应该注意的是,外键的值必须是关联表中存在的存在。

  2.第二种方法是属性分配的方法,因为我们具有模型类中部门的属性,并且该属性的对象的类型必须是部门表类型的实例对象

  访谈与对象相关的对象:

  我们具有定义学生类别类别的部门的属性,因此,当我们访问它时,我们可以直接找到可以通过Student.Deppartment的形式直接找到学生附属学院的大学。

  那么,如果您拜访访问一所大学的学生时我们也想改变呢?

  访谈与对象相关的对象:

  您可以在定义期间设置相关的_name参数,以涵盖foo_set的名称。

  clear()将所有对象集中在关联对象

  多桌查询----交叉关系查询:

  Django提供了一种强大而直观的方式来“处理”查询中相关关系。它会自动帮助您处理后台加入。如果您想跨越关系,则只需要使用关联的模型字段的名称并使用双重字段的行进行分开,直到您想要的字段:

  它也可以反向起作用。要引用“反向”关系,您只需要使用模型的小写字母的名称即可。

  只是查询,如果您不进行管理,请直接写SQL,快速而灵活。想要自定义,您可以指定名称或元中的名称。您也可以指定中文。4-5复杂的查询,让我们直接编写SQL。

  让我们回忆第5章中有关书籍(书)的数据模型:

  1

  来自django.db导入模型

  类出版商(Models.Model):

  name = models.charfield(max_length = 30)

  地址= model.Charfield(max_length = 50)

  city = models.charfield(max_length = 60)

  state_provring = model.charfield(max_length = 30)

  country = models.charfield(max_length = 50)

  网站= models.urlfield()

  def __unicode __(self):

  返回self.name

  班级作者(Models.Model):

  first_name = models.charfield(max_length = 30)

  last_name = models.charfield(max_length = 40)

  电子邮件= models.emailfield()

  def __unicode __(self):

  返回u'%s%s'%(self.first_name,self.last_name)

  课程(Models.Model):

  title = models.charfield(max_length = 100)

  作者= model.manytomanyfield(作者)

  publisher = models.foreignkey(发布者)

  publication_date = model.datefield()

  def __unicode __(self):

  返回self.title

  例如,在第5章的解释中,数据库对象的特定字段的值只需要直接使用属性。例如,要确定具有ID的书的标题,我们要这样做:这样做:

  来自mysite.books.models导入书籍

  b = book.objects.get(id = 50)

  B.神经

  你的django书'

  但是,有一个相关的对象字段,我们没有提及它是外国基金会或Manytomanyfield,它们的影响略有不同。

  访问密钥的价值(外键)

  当您获得外国键字段时,您将获得相关的数据模型对象。例如:

  b = book.objects.get(id = 50)

  B.Publisher

  出版商:Apress Publishing

  b.publisher.website

  标准列表不应复杂。从本质上讲,它分为两部分:接口操作和数据库查询。

  数据库查询,只需在查询中查询时添加切片

  接口操作做得很好。

  Django多表和Django Multi -Pable的联合查询的引入已经结束。我想知道您是否从中找到了所需的信息?如果您想进一步了解此信息,请记住要收集对该网站的关注。