From 4e1243bfecd1e7685f25cf378c1bb59df30d6de1 Mon Sep 17 00:00:00 2001 From: "AppleGrew (applegrew)" Date: Thu, 28 Feb 2013 14:18:27 +0530 Subject: [PATCH] Issue#23 fix. --- django_select2/widgets.py | 11 ++++++++--- testapp/test.db | Bin 2334720 -> 2334720 bytes 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/django_select2/widgets.py b/django_select2/widgets.py index fadf43e..e3c60ad 100644 --- a/django_select2/widgets.py +++ b/django_select2/widgets.py @@ -390,11 +390,16 @@ class HeavySelect2Mixin(Select2Mixin): selected_choices = list(force_unicode(v) for v in selected_choices) txts = [] all_choices = choices if choices else [] + choices_dict = dict() for val, txt in chain(self.choices, all_choices): val = force_unicode(val) - if val in selected_choices: - selected_choices = [v for v in selected_choices if v != val] - txts.append(txt) + choices_dict[val] = txt + for val in selected_choices: + try: + txts.append(choices_dict[val]) + except KeyError: + logger.error("Value '%s' is not a valid choice.", val) + if hasattr(self.field, '_get_val_txt') and selected_choices: for val in selected_choices: txt = self.field._get_val_txt(val) diff --git a/testapp/test.db b/testapp/test.db index 5cbdf950c406159b03d38bf6f1c5b7e4b6f2bc7b..cb93c08ebf3874f4db626c9af2e55ef78d795988 100644 GIT binary patch delta 648 zcmYk2yG{Z@6o%&vy9+GHSr8Qk5ieW{Ond_iAAm=IH{cN#D?6i!$<}t3CdANKP*`la z)rNwCP*D*I3PKF=pJ6d%^35ch^MB`@?G2x)2VRQQe=R*w|FQGcq4)bDFNDRu;1LJx z^Nc6F;vvq0XZ`Hm8+)HEatu@@yq^{|n?i^L5lO3R2)w4f6RdQ2tMQ?NBoegANhkqP ztnT@3YTRrkvKBX>AhUYFD`9dVv|@otph5VXy`W3UcwV<6Z_=egDH?$6U1o$?1D%{i z8J9AW^4`Ryf}zR>zb=`>A}_IOD0t0tluvogp+13b_Q5%x3QIB)X>wFC)xEGK%ME<7 zsAk46Yt`OaR9<;P_>?E$Iod}SW6y%6!?r9}ltpTb3CkJ_j|HY!MjrLMefGv(nYzuZ zUNP2pM%^-}XK?;=bDf+aJC1U$v@CAb=F+-q6+1J;Di=l}o! delta 648 zcmYk%zfQtX6bA5~+j9BOY4INlVyO-cnD_<`J^+sZZ@|b{oZO5iCY{|JO^k7I=-|M} zL>xL0CMLq*K#U=N_qIxh-))=p`_4V1@Rmk!SEu29)M|Li2Aw;GZ zjC<5Ri@!uGev(^8iR6i)C$Djr6;BX;=U_6ReAdyU%wRU4T0`2~!8()tud+$Tr;0G0 zVCGZJQX}4ee9DCJsu=RkUs!gDz?>tV;$01U;wsM#DHwMtk)1JdUoV(;MYFBnTl#e4 zebF*UPxRlUT9(@uE7gLfr#;bhRbHf8BuDBlb96-NHb{>-hz6o~?x=rF)@McMs_GDXkp#){90D}z