0

我有一个具有 MULTISELECTFIELD 的模型,用户可以在其中选择与它们相关的状态。它在后端使用 django-localflavor 等等,他们选择 'TEXAS' 和 'TX' 的形式存储在数据库中。我正在使用这个 Q 查询来查找与某个状态相关联的用户。Q(states__icontains=query)但这只会为“TX”而不是“TEXAS”返回成功。这是有道理的,因为这就是它在数据库中的存储方式,但是我怎样才能通过德克萨斯州进行搜索并获得相同的回报呢?

我能想到的就是转到类管理器 ( myclassManager(models.Manager) 并创建一个get_state_name方法,该方法接受 2 位代码并返回状态名称。如果是这种情况,我必须手工制作带有列表的字典。

我觉得这可能是一种更清洁的方式。

想法?

4

1 回答 1

1

我只是看了一下 localflavor 并且类似于我在评论中建议的内置内容。

from localflavor.us.forms import USStateSelect

class StateSearchForm(forms.Form):
    search = forms.ChoiceField(widget=USStateSelect)
于 2018-05-13T01:05:13.907 回答