code: def _parse_query_dict(query_data, model):
          
          operator = 'iexact'
          if query_data['field'] == '_OR':
              query_data['operator'] = operator
              return query_data
  
          parts = query_data['field'].split('__')
          if len(parts) < 2:
              field = parts[0]
          else:
              if parts[-1] in dict(AdvancedFilterQueryForm.OPERATORS).keys():
                  field = '__'.join(parts[:-1])
                  operator = parts[-1]
              else:
                  field = query_data['field']
  
          query_data['field'] = field
          mfield = get_fields_from_path(model, query_data['field'])
          if not mfield:
              raise Exception('Field path "%s" could not be followed to a field'
                              ' in model %s', query_data['field'], model)
          else:
              mfield = mfield[-1]  # get the field object
  
          if query_data['value'] is None:
              query_data['operator'] = "isnull"
          elif query_data['value'] is True:
              query_data['operator'] = "istrue"
          elif query_data['value'] is False:
              query_data['operator'] = "isfalse"
          else:
              if isinstance(mfield, DateField):
                  # this is a date/datetime field
                  query_data['operator'] = "range"  # default
              else:
                  query_data['operator'] = operator  # default
  
          if isinstance(query_data.get('value'),
                        list) and query_data['operator'] == 'range':
              date_from = date_to_string(query_data.get('value_from'))
              date_to = date_to_string(query_data.get('value_to'))
              query_data['value'] = ','.join([date_from, date_to])
  
          return query_data
docs: Take a list of query field dict and return data for form initialization