2016-11-25 5 views
2

djangoが私が追加をクリックすると、なぜ?_changelist_filters=user%3D5275のURLに追加されますか? change_listの私のURLは当初?user=5275でした。 問題は、選択入力でユーザーを選択する必要があり、選択しないことです。私がそれを変更した場合は?user=5275が働いています。djangoの管理者で、なぜdjangoがURLに_changelist_filtersを追加していますか?

私は?_changelist_filters=user%3D5275 Djangoは「読み取り」することができますか?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) 
関連する問題