在Django Admin界面中显示SQL结果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Django Admin界面中显示SQL结果相关的知识,希望对你有一定的参考价值。

我已经设置了Django Admin Interface(django.contrib.admin),以查看来自mysql数据库的数据。

我想知道是否可以进行特定的SQL查询吗?

到目前为止,通过执行以下操作,我的所有表都被注册为Django Admin Dashboard中的显示人:

# Register your models here.
@register(User)
class User(ModelAdmin):
    list_display = ('name', 'city')
    list_filter = ('name',)
    search_fields = ('name',)

@register(Object)
class Object(ModelAdmin):
    list_display = ('name', 'object_description', 'owner', 'acquired_date')
    list_filter = ('name',)

假设,我想在信息中心中显示一个特定的表,其中显示了所有具有适当对象和获取日期的用户。我该怎么办?或者,更好的是,如何显示来自多个JOIN查询的数据?

我看到了querySet函数,但是没有看到任何示例来完成这种事情。

感谢您的帮助

答案

如果ownerUser外键,您可以像这样在Object管理员list display中添加用户数据:

@register(Object)
class Object(ModelAdmin):
    list_display = ('name', 'object_description', 'owner_name', 'owner_city', 'acquired_date')
    list_filter = ('name',)

    def owner_name(self, obj):
        return obj.owner.name
    owner_name.short_description = 'owner_name'

    def owner_city(self, obj):
        return obj.owner.city
    owner_city.short_description = 'owner_city'

以上是关于在Django Admin界面中显示SQL结果的主要内容,如果未能解决你的问题,请参考以下文章

Django admin管理界面,管理界面变成中文,管理界面显示所有表,表名改成中文名

Django的admin组件

admin

Django 创建项目

Django Admin site 显示问题

Django:在管理界面中显示有用的数据库数据?