setting up grapelli autocomplete for Note >> Course relation, closes #60
authorSeth Woodworth <seth@sethish.com>
Tue, 5 Feb 2013 01:14:33 +0000 (20:14 -0500)
committerSeth Woodworth <seth@sethish.com>
Tue, 5 Feb 2013 01:14:33 +0000 (20:14 -0500)
karmaworld/apps/courses/models.py
karmaworld/apps/notes/admin.py

index 6bc2f0327a218c8a066bff5a1d34973a092074a1..40deedc0c894d4f160338e42596a397c446143ed 100644 (file)
@@ -97,6 +97,10 @@ class Course(models.Model):
             self.slug = defaultfilters.slugify("%s %s" % (self.name, self.id))
             super(Course, self).save(*args, **kwargs) # Save the slug
 
+    @staticmethod
+    def autocomplete_search_fields():
+        return ("name__icontains",)
+
     def update_note_count(self):
         """ Update self.file_count by summing the note_set """
         self.file_count = self.note_set.count()
index 650e9cba5c511d3db0b3931763b843df27f725b7..91eab81068fd426a195718d7148ebd5dd63e1db3 100644 (file)
@@ -5,8 +5,16 @@
 
 from django.contrib import admin
 
-from karmaworld.apps.notes import models
+from karmaworld.apps.notes.models import DriveAuth
+from karmaworld.apps.notes.models import Note
 
+class NoteAdmin(admin.ModelAdmin):
+    """ an Admin handler for the Note model that handles autocomplete to Course 
+    """
+    raw_id_fields = ('course',)
+    autocomplete_lookup_fields = {
+        'fk': ['course']
+    }
 
-admin.site.register(models.DriveAuth)
-admin.site.register(models.Note)
+admin.site.register(DriveAuth)
+admin.site.register(Note, NoteAdmin)