Django筛选器查询外键
我正在努力为我的项目找到正确的查询。 以下是一个示例或我的模型:Django筛选器查询外键,django,Django,我正在努力为我的项目找到正确的查询。 以下是一个示例或我的模型: from django.db import models class Publisher(models.Model): name = models.CharField(max_length=30) address = models.CharField(max_length=50) city = models.CharField(max_length=60) state_province = mod
from django.db import models
class Publisher(models.Model):
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)
country = models.CharField(max_length=50)
website = models.URLField()
def __unicode__(self):
return self.name
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
def __unicode__(self):
return u'%s %s' % (self.first_name, self.last_name)
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
def __unicode__(self):
return self.title
如何从book类中获取publisher?例如,我想获取标题以“hello”开头的所有书籍的所有publisher?
谢谢如果你想获得出版商,你必须从
Publisher
开始。这意味着你必须查询整本书→ 发布者关系向后。以下是医生们对此的看法:
要跨越关系,只需使用模型中相关字段的字段名,用双下划线分隔,直到找到所需的字段为止
要引用“反向”关系,只需使用模型的小写名称
查询:
Publisher.objects.filter(book__title__startswith='hello')
如果我想查看某个出版商出版的所有书籍,该怎么办?@ArindamRoychowdhury:
Book.objects.filter(publisher\uu name='some')