Je travaille sur un projet Django 1.10, dans lequel j'ai un modèle appelé TaggedArticle qui est lié à un utilisateur avec le related_name comme "tagging", maintenant je veux afficher une table d'objets TaggedArticle lorsque nous ouvrons un objet utilisateur dans Django admin. Comment puis-je obtenir cette fonctionnalité dans Django Admin?Ajouter des objets liés à l'utilisateur dans le modèle utilisateur dans Django Admin
Voici mes modèles: 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)
Mise à jour: 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)
Mise à jour: Son e sont les captures d'écran:
- TaggedArticle Liste Voir:
- page Détail pour TaggedArticle:
- page Détail pour l'utilisateur:
Sur la page de détail de l'utilisateur, tous les champs de l'objet TaggedArticle doit être affiché.
Aidez-moi, s'il vous plaît! Merci à l'avance!
Salut, @NeErAj! Aussi, comment puis-je afficher le nombre total d'articles marqués dans la page de détails de l'utilisateur? –
Au-dessus du code montrera tout l'article étiqueté dans la page de détail d'utilisateur dans l'admin de django. avez-vous essayé le code ci-dessus? –
yup, ça marche! mais maintenant j'ai besoin d'afficher le nombre total d'articles étiquetés aussi! –