Is it safe to set a modeladmin variable and use it like this; it is set in the changelist_view based on the url search criteria and is used to limit the choices of a foreign key when adding new item
class MyModelAdmin(reversion.VersionAdmin):
...
selected_period = None
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == "period":
kwargs["queryset"] = Period.objects.filter(id=self.selected_period)
return super(MyModelAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
def changelist_view(self, request, extra_context=None):
..
if request.GET.has_key('period__id__exact'):
self.selected_period = request.GET['period__id__exact']
return super(MyModelAdmin, self).changelist_view(request, extra_context=extra_context)
admin.site.register(MyClassroomAbsenceLog, MyClassroomAbsenceLogAdmin)