List the latest posts when viewing a blog in the admin interface.
authorMagnus Hagander <magnus@hagander.net>
Fri, 31 Jul 2009 14:18:46 +0000 (16:18 +0200)
committerMagnus Hagander <magnus@hagander.net>
Fri, 31 Jul 2009 14:18:46 +0000 (16:18 +0200)
hamnadmin/register/admin.py
hamnadmin/register/models.py
hamnadmin/register/templates/admin/register/blog/change_form.html [new file with mode: 0644]

index 17cc2c29e2b8798a8c3c1669263bf774542176a1..a02811aada4a2da3b7d260980d6f1efcde00c8f5 100644 (file)
@@ -28,6 +28,13 @@ class BlogAdmin(admin.ModelAdmin):
        ordering = ['approved', 'name', ] #meh, multiple ordering not supported
        form = BlogAdminForm
 
+       def change_view(self, request, object_id, extra_context=None):
+               blog = Blog(pk=object_id)
+               my_context = {
+                       'posts': blog.posts.all()[:10],
+               }
+               return super(BlogAdmin, self).change_view(request, object_id, extra_context=my_context)
+
 admin.site.register(Team)
 admin.site.register(Blog, BlogAdmin)
 admin.site.register(Post)
index a7757f48da8ad8513ca1e54d0680af2c04ac648d..0af0c2284200d3b103c416a40cd54bc180c27d96 100644 (file)
@@ -41,7 +41,7 @@ class Blog(models.Model):
                pass
 
 class Post(models.Model):
-       feed = models.ForeignKey(Blog,db_column='feed')
+       feed = models.ForeignKey(Blog,db_column='feed',related_name='posts')
        guid = models.CharField(max_length=255)
        link = models.CharField(max_length=255)
        txt = models.TextField()
diff --git a/hamnadmin/register/templates/admin/register/blog/change_form.html b/hamnadmin/register/templates/admin/register/blog/change_form.html
new file mode 100644 (file)
index 0000000..3681a71
--- /dev/null
@@ -0,0 +1,12 @@
+{% extends "admin/change_form.html" %}
+{% block after_field_sets %}
+<p>
+Latest 10 posts:
+<ul>
+{%for p in posts %}
+<li>{{p.dat}}: {{p.title}}</li>
+{%endfor%}
+</ul>
+</p>
+{% endblock %}
+