小编Ami*_*aee的帖子

Django select_related不起作用

我的Django select_related很奇怪

Models:
class Publisher(models.Model):
 name = models.CharField(max_length=100)
 class Meta:
      app_label = 'models'
      db_table = 'Publisher'
class Book(models.Model):
 name = models.CharField(max_length=100)
 publisher = models.OneToOneField(Publisher)
 class Meta:
      app_label = 'models'
     db_table = 'Book'
Run Code Online (Sandbox Code Playgroud)

输出:

books = Book.objects.select_related('publisher').all()
print books.query
SELECT "Book"."id", "Book"."name", "Book"."publisher_id", "Publisher"."id", "Publisher"."name" FROM "Book" INNER JOIN "Publisher" ON ( "Book"."publisher_id" = "Publisher"."id" )
print books.values()
[{'publisher_id': 1, u'id': 1, 'name': u'rest framework'}]
Run Code Online (Sandbox Code Playgroud)

Django会生成正确的查询,并在我执行它时检索数据。但是值不包含发布者

python django django-orm

2
推荐指数
1
解决办法
2450
查看次数

标签 统计

django ×1

django-orm ×1

python ×1