Django Admin List Filter Without Sidebar
The Django Admin is intended as a really basic administration panel, not a staff tool or content management system. It doesn't have any notion of roles or user access levels, so any user in the Admin can edit any other users' records.
What you're trying to do goes way beyond what the Django Admin was designed to do. If you want custom behaviour or appearance, you should build actual pages using ModelViews. That way you can apply apply per-user restrictions on what they can see and modify.
If that's more work than you anticipated then you should probably just accept what the Django Admin gives you.
I want to be able to apply a list filter based on a known foreign-key value without showing the sidebar at all. 
I have 3 schools with IDs 1, 2 & 3.
I have 39 programs, each having various fields, one of which being 'school' a foreign-key to schools table, and 39 records having either 1, 2, or 3 in 'school' field.
In admin.py, I create a ProgramsAdmin with list_filter = (('school')).  This works perfectly, with the 3 schools appearing in sidebar. Clicking on any of them properly filters the programs.
Since user is going to log in and select the school they are working on, I want the list to be filtered without seeing the sidebar.  Chosen school will be stored in database in settings table, but for now I just want to get it to work hard-coded to 1, 2 or 3 and not show sidebar.
This works SO easy in models.py, filtering a many-to-many relationship, just using limit_choices_to clause.  Not so easy filtering in admin.  Is it even possible to filter the admin on a hard-coded value, or a function which returns a filter value like limit_choices_to does?
Thanks...