【发布时间】:2018-10-23 00:25:28
【问题描述】:
我有一个具有 MULTISELECTFIELD 的模型,用户可以在其中选择与它们相关的状态。它在后端使用 django-localflavor 等等,他们选择 'TEXAS' 和 'TX' 的形式存储在数据库中。我正在使用这个 Q 查询来查找与某个状态相关联的用户。 Q(states__icontains=query) 但这只会为“TX”返回成功,而不是“TEXAS”。这是有道理的,因为这就是它在数据库中的存储方式,但是我怎样才能通过德克萨斯州进行搜索并获得相同的回报呢?
我能想到的就是去 Class Manager (myclassManager(models.Manager) 并创建一个 get_state_name 方法,该方法接受一个 2 位代码并返回状态名称。如果是这样的话,我必须手工制作一个带有列表的字典。
我觉得这可能是一种更清洁的方式。
想法?
【问题讨论】:
-
你能展示你的模型吗?
-
您可以将表单的搜索字段设为
MultiSelect小部件,其选项与模型中的元组相同
标签: django django-models django-localflavor