我有一个具有MULTISELECTFIELD的模型,用户可以在其中选择与它们相关的状态。它在后端使用django-localflavor等等他们选择的形式' TEXAS'和' TX'存储在数据库中。我使用此Q查询来查找与州关联的用户。 Q(states__icontains=query)
但这只会让“TX'而不是' TEXAS'。这是有道理的,因为它是如何存储在数据库中的,但我如何通过德克萨斯州搜索并获得相同的回报呢?
我能想到的只是去Class Manager(myclassManager(models.Manager
)并创建一个get_state_name
方法,它接受一个2位数的代码并返回州名。如果是这种情况,我必须手工制作一份带有列表的字典。
我觉得这可能是一种更清洁的方式。
思考?
答案 0 :(得分:1)
我刚看了一下localflavor,与我在评论中建议的内容类似。
from localflavor.us.forms import USStateSelect
class StateSearchForm(forms.Form):
search = forms.ChoiceField(widget=USStateSelect)