Răsfoiți Sursa

[search] Do not convert to string multivalue fields

Now escapes the list of values.
There is only one level of nesting in multivalue fields.
Romain Rigaux 10 ani în urmă
părinte
comite
5838f00912
2 a modificat fișierele cu 43 adăugiri și 0 ștergeri
  1. 2 0
      apps/search/src/search/models.py
  2. 41 0
      apps/search/src/search/tests.py

+ 2 - 0
apps/search/src/search/models.py

@@ -806,6 +806,8 @@ def augment_solr_response(response, collection, query):
     for field, value in doc.iteritems():
     for field, value in doc.iteritems():
       if isinstance(value, numbers.Number):
       if isinstance(value, numbers.Number):
         escaped_value = value
         escaped_value = value
+      elif isinstance(value, list): # Multivalue field
+        escaped_value = [smart_unicode(val, errors='replace') for val in value]
       else:
       else:
         value = smart_unicode(value, errors='replace')
         value = smart_unicode(value, errors='replace')
         escaped_value = escape(value)
         escaped_value = escape(value)

Fișier diff suprimat deoarece este prea mare
+ 41 - 0
apps/search/src/search/tests.py


Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff