2016-11-25 85 views
2

为什么当我点击添加时,django添加了url ?_changelist_filters=user%3D5275? change_list上的我的网址最初是?user=5275。 问题是应该在选择输入中选择用户,而不是。如果我在?user=5275正在工作中更改它。在django admin为什么django将?_changelist_filters添加到url?

我怎样才能让Django的,以“读” ?_changelist_filters=user%3D5275或改变它在?user=5275

回答

3

可以在AdminForm这样的补充:

class UsersAdminForm(forms.ModelForm): 
    @staticmethod 
    def parse_filter_kwargs(**kwargs): 
     if 'initial' in kwargs: 
      if u'_changelist_filters' in kwargs['initial']: 
       filters = kwargs['initial'][u'_changelist_filters'] 
       var, value = filters.split('=') 
       if var == u'user': 
        return {'initial': {var: value}} 
     return kwargs 

    def __init__(self, *args, **kwargs): 
     kwargs = self.parse_filter_kwargs(**kwargs) 
     super(UsersAdminForm, self).__init__(*args, **kwargs)