在 Django 管理界面中将外键作为列使用是否会为每行创建一个新的数据库查询?

时间:2021-08-12 04:25:47

标签: python django postgresql django-queryset

我有一个模型关系,如下所示:

class Author(Model):
    first_name = CharField()

class Book(Model):
    title = CharField()
    author = ForeignKey(Author)

我想要一个管理界面,如下所示:

class BookAdmin(ModelAdmin):
    list_display = ('title', 'author_name')

    def author_name(self, obj):
        return obj.author.name

这是否会为每一行创建一个新的查询,或者 Django 在此处使用连接非常聪明?如果关系不仅仅只有一层深度而是多层深度,那么该怎么办?

我使用 Python 3.8、Django 3.1 和 Postgres 12。

0 个答案:

没有答案