python - 使用扩展字段自定义 Django 用户 TableView

标签 python django django-admin

所以我想在身份验证/用户页面上显示不同的列

我通过将其放入我的 models.py 中扩展了我的用户模型

class InsiderUser(models.Model):
    user = models.OneToOneField(User)
    company_name = models.CharField(max_length=100L, blank=True)

我可以通过将以下内容放入 admin.py 来编辑 admin 中的字段:

class InsiderUserInline(admin.StackedInline):
    model = InsiderUser
    can_delete = False
    verbose_name_plural = 'insideruser'

# Define a new User admin
class UserAdmin(UserAdmin):
    inlines = (InsiderUserInline, )

但是更改 list_display 我尝试过遇到一些麻烦:

class UserAdmin(UserAdmin):
    inlines = (InsiderUserInline, )
    list_display = ('email', 'first_name', 'last_name', InsiderUser)

这只是告诉我有一个 InsiderUser 对象,这让我觉得我走在正确的道路上,因为以下所有错误都产生了:

class UserAdmin(UserAdmin):
    inlines = (InsiderUserInline, )
    list_display = ('email', 'first_name', 'last_name', InsiderUser.company_name)

class UserAdmin(UserAdmin):
    inlines = (InsiderUserInline, )
    list_display = ('email', 'first_name', 'last_name', InsiderUser[company_name])

最佳答案

由于公司名称存储在单独的表中,因此您可以使用自定义管理方法来显示它,如下所示。

class UserAdmin(UserAdmin):
    inlines = (InsiderUserInline, )
    list_display = ('email', 'first_name', 'last_name', 'display_company_name', )

    def display_company_name(self, request):
        if InsiderUser.objects.filter(user__id = request.id):
            return InsiderUser.objects.get(user__id = request.id).company_name
        else:
            return None
    display_company_name.short_description = 'Company Name'

admin.site.unregister(User)
admin.site.register(User, UserAdmin)

关于python - 使用扩展字段自定义 Django 用户 TableView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19648977/

相关文章:

python - Selenium:WAITING空元素(跨度)包含任何文本

python - 将 Airflow 用于频繁的任务

python - 用python写一个接受参数的类

python - 类型错误 : __init__() got an unexpected keyword argument 'current_app' Django

python - 创建 super 用户时创建日期行

django - 禁用首选颜色方案 : dark in django admin

python - 如何让 tkinter 使用 Ubuntu 的默认 Python 2.7 安装?

Django 性能 - sql View 是否足够好?

python - 如何在 GeoDjango 中使用子查询获取相交几何图形?

SQL 导入文件以更新表值