2009-08-07 10 views
1

in django admin die Ansichten, die das Register zeigen nur einen Link zu "bearbeiten", aber was passiert, wenn ein Bedarf ein Extra (S) Links zu andere Ansichten? zum Beispiel: Ich habe Ansicht, dass die Liste der registrierten Personen zeigen, der Nick ist Verknüpfung mit der Bearbeitungsseite (der normale Weg von Django), aber ich brauche andere Links, die mir die "Artikel" der Menschen zeigen und ein anderer die "Kommentare" der Leute. wie krank mache ich das mit django admin? DankAdmin, zwei Links zu verschiedenen Ansichten?

Antwort

1

(Ich gehe davon aus, einige Feldnamen aus Ihren Modellen zu beantworten)

den Autor Feld Machen von „Kommentar“ durchsuchbar:

class CommentAdmin(admin.ModelAdmin): 
    search_fields = ("=author",) 

Verwenden list_display und HTML zu kontrollieren, was auf angezeigt ist die Liste der Menschen Admin-Seite:

def comments(obj): 
    return ('<a href="/admin/pathto/comments/?q=%s">comments</a>' % obj.name) 
comments.short_description = 'comments' 
comments.allow_tags = True 

class PeopleAdmin(admin.ModelAdmin): 
    list_display = ("name", comments,) 

Und /admin/pathto/comments/ Ihr Kommentar Admin-Liste Seite was ändern i s.

Im Grunde werden Sie Ihre Benutzer auf die Suchergebnisseite der Kommentare leiten.

+0

+1, das ist absolut der richtige Weg, es zu tun, außer ich denke, es ist besser, die Funktion als eine Methode der Subklasse ModelAdmin zu behalten - in diesem Fall wird es 'def Kommentare (self, obj)'. –

+0

Danke Jungs, lass mich es versuchen :) – Asinox

Verwandte Themen