在 Django Admin 中的 User 模型中添加 User 相关对象

阿卜杜勒·雷曼 |

我正在开发一个 Django 1.10 项目,其中我有一个名为 TaggedArticle 的模型,该模型与用户相关,并将 related_name 设为“标记”,现在我想在我们在 Django 中打开用户对象时显示一个包含 TaggedArticle 对象的表admin.如何在 Django Admin 中实现该功能?

这是我的模型:TaggedArticle:

class TaggedArticle(models.Model):
    user = models.ForeignKey(User, related_name='tagging')
    email = models.EmailField(max_length=255)
    category_fit = models.CharField(choices=choices, max_length=255)
    article = models.ForeignKey(Article, related_name='articles')
    link = models.URLField(max_length=255,)
    relevant_feedback = models.TextField(blank=True)
    category = models.CharField(max_length=255,)
    created_at = models.DateTimeField(default=timezone.now, editable=False)

更新:admin.py

from django.contrib import admin
from .models import TaggedArticle as Tagged
from django.contrib.auth.admin import UserAdmin
from .models import TaggedArticle
from django.contrib.auth import get_user_model

User = get_user_model()
admin.site.unregister(User)

class InlineTaggedArticle(admin.TabularInline):
    model = TaggedArticle

class CustomAdmin(UserAdmin):
    date_hierarchy = 'date_joined'
    inlines = [InlineTaggedArticle, ]
    list_display = list(UserAdmin.list_display) + ['totol_tagged_article']

    def totol_tagged_article(self, obj):
        return obj.tagging.all().count()

admin.site.register(User, CustomAdmin)


class TaggedArticleAdmin(admin.ModelAdmin):
    date_hierarchy = 'created_at'
    fields = ['category_fit', 'article', 'link', 'relevant_feedback', 'category', 'user', 'email']
    list_display = ['article', 'link', 'user', 'email', 'relevant_feedback']
    list_filter = ['user', 'email']
    model = Tagged


admin.site.register(Tagged, TaggedArticleAdmin)

更新:以下是截图:

  1. 标记文章列表视图:

在此处输入图片说明

  1. 标记文章的详细页面:

在此处输入图片说明

  1. 用户的详细信息页面:

在此处输入图片说明

在用户的详细信息页面上,应显示来自 TaggedArticle 对象的所有字段。
请帮帮我!提前致谢!

尼拉吉·库马尔
from django.contrib.auth.admin import UserAdmin
from .models import TaggedArticle
from django.contrib.auth import get_user_model
User =  get_user_model()
admin.site.unregister(User)

class InlineTaggedArticle(admin.TabularInline):
    model = TaggedArticle


class CustomAdmin(UserAdmin):
    inlines = [InlineTaggedArticle,]
    list_display = list(UserAdmin.list_display) + ['totol_tagged_article']

    def totol_tagged_article(self, obj):
        return obj.tagging.all().count()
admin.site.register(User, CustomAdmin)

现在您将TaggedArticle在 Django admin 的用户详细信息页面中看到表格

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在 Django Admin 中创建多个相关对象

如何获取与Django中的User相关联的所有相关对象?

Django:在admin list_display中显示相关对象的数量

/ admin / auth / user /中的TypeError

如何用外键从模型显示Django admin中的相关对象?

django:更好地查看admin> user表中显示的admin中的多个选择菜单

如何在Django的用户模型中的默认“ auth_user”表中添加“移动”字段?

Django模型-通过FK描述在Django admin中显示对象

'WSGIRequest'对象没有属性'user'Django admin

Django Admin操作:“ QuerySet”对象没有属性“ user”

Django'WSGIRequest'对象在/ admin /处的AttributeError没有属性'user'

如何使用 Group By 和 Join 访问对象 User (django admin)?

如何解决Django中的错误“ / admin / auth / user / add / UNIQUE约束失败的IntegrityError:user_details_profile.phone”?

Django admin - 如何添加 request.user 作为内联模型的默认值?

在django-admin中显示相关m2o对象的字段

如何在Django CRUD中自定义auth.User Admin页面?

如何使用自定义用户从Django admin中的User继承字段?

Django:/ admin / auth / user /中的IndexError列表索引超出范围

通过Laravel 5中的Auth :: User()调用用户对象时,无法访问相关的雄辩模型

无法在Django中获取属于User的Profile对象

在Django中按self.request.user过滤对象列表

在 Django 中创建一个新表(模型)并将其与 auth_user 相关联

在 Django admin 中搜索模型

Django admin模型未在admin中更新

Django模板request.user存在于模型中

Django:如何正确显示相关模型中的对象列表?

在Django中创建模型时自动创建相关对象

如何通过相关对象查询模型并使用Django ORM在queryset中获取相关对象

如何在通过 ForeignKeys 相关的模型中的 django-admin 更改列表中设置搜索?