当前位置: 首页 > Django教程 > 正文

django多对多查询-Django怎么多表联合查询

本站文章为采集文章,演示用,请勿当真!

1、django多对多查询:如何进行Django多表联合查询

首先让我们回忆一下第5章中的书籍数据模型:fromdjango.dbimportmodels

classPublisher(models .Model):django循环嵌套。

name=models.CharField(max_length=30)

address=models.CharField(max_length=50)

city=models.CharField(max_length=60)

state_province=models. CharField(max_length=30)Django正向查询多对多  。

country=models.CharField(max_length=50)

website=models.URLField()

def__unicode__(self):

returnself.name

classAuthor(models.型号):

first_name=models.CharField(max_length=30)

last_name=models.CharField(max_length=40)

email=models.EmailField()

def__unicode__(self):

returnu'%s%s'%(self.first_name,self.last_name)

classBook(models.Model):

title=models.CharField(max_length=)

authors=models.ManyToManyField(Author)

publisher=models.ForeignKey(Publisher)

publication_date=models.DateField()

def__unicode__(self):

returnself.title

我们在第5章解释过,获取数据库对象特定字段的值直接使用该属性。例如,要确定 ID 为 50 的书名,我们这样做:

>>>b==50)

>>>b.title

u'TheDjangoBook '

但是,有一项我们之前没有提到的是关联对象字段,它表示为 ForeignKey 或 ManyToManyField ,它们的功能略有不同。

访问外键(ForeignKey)值

当你得到一个ForeignKey字段时 ,你会得到相关的数据模型对象。例如:

>>>b==50)

>>>b.publisher


  • 关注微信

猜你喜欢

微信号