On Fri, Jun 25, 2010 at 2:54 PM, patjenk <patj...@gmail.com> wrote: > In our application, we have a Model that has a boolean field named > "deleted". When the delete() method is called, we set the deleted > field to 1 and then save the model. We would like to create an admin > site where we can manage the deleted and non deleted instances > separately. > > We could accomplish our goal by defining a queryset function for the > ModelAdmin that restricts the instances returned to deleted=0. > However, AFAIK this would eliminate the ability to undelete instances > via the admin. Another option is to allow all instances to be shown > and include delete as a value in the list_filter list for the admin > but that clutters up our UI and requires an extra click. It would be > nice if we could specify that the default admin view for this model > has a list_filter of deleted=0 but I don't think this is currently > possible. > > I think a good solution would be to create two ModelAdmins. One to > display active instances and one to display deleted instances. With > this approach we could define a queryset function for each ModelAdmin > and when an instance is deleted it would automatically move to the > correct ModelAdmin. This is explicitly denied in django/contrib/admin/ > sites.py. Simply removing this check does not solve our problem but > overwrites the first ModelAdmin for the model with the second via the > dictionary "_registered" in the AdminSite class. From my brief dive > into the admin site, there doesn't appear to be a real need for a one > to one relationship between ModelAdmins and Models. If you allowed > ModelAdmins to specify their own name I think it would be possible to > have more than one ModelAdmin for a Model. I am not a Django expert > but I don't see a reason that this scenario should be excluded. > > Can anyone recommend a way to accomplish either of the approaches I > outlined above or propose a new approach that does not violate the > AdminSite rules? Also, if anyone knows why the ModelAdmin needs to > have a one to one relationship with Model please let me know.
I recently clipped this for future reference. I believe it will help you do what you want: http://www.mahner.org/posts/separating-staff-and-user-accounts-in-djangos-admin/ -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.