- February 15, 2008
- managers models admin sites
- 6 (after 8 ratings)
This example shows how you can easily limit the objects in the admin by specifying which Manager the admin should use. I haven't seen this documented anywhere (perhaps I've missed it), but it's proven extremely useful to me.
The example here will limit objects to those that are attached to the current Site, but you can use any Manager you want (for example, a Manager that shows only published Articles).
Finally -- not that I'm suggesting this -- but you could combine this with the ThreadLocals trick to show only objects that have been created by that user.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
class Article(models.Model): site = models.ForeignKey(Site) title = models.CharField(max_length=100) body = models.TextField() pub_date = models.DateTimeField() class Admin: # In this example, the Admin's object list will show *only* Articles # which are related to the current Site. # However, you could specify any Manager you like: # manager = MyCustomManager() from django.contrib.sites.managers import CurrentSiteManager manager = CurrentSiteManager()
More like this
- User manager by diverman 6 years, 10 months ago
- Lightweight querysets by sardarnl 2 years, 11 months ago
- more on manager methods by grahamu 9 years, 3 months ago
- Hyperlink read-only ForeignKey objects in admin to their change pages by strangefeatures 4 years, 4 months ago
- Custom management command to list recent admin actions by pbx 6 years, 10 months ago