django - 使用特定字段中的所有唯一值创建一个 ChoiceFilter (Django)
问题描述
我有一个Car
包含以下一些字段的模型:
#models.py
from django.conf import settings
class Car(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete = models.CASCADE,null=True)
tag = models.CharField(max_lenght=16) #User-specified tag for each car
n_wheels = models.IntegerField()
.
.
这个想法是每个用户都可以创建一个用户想要Car
的tag
字段,例如,personal
等。work-car
for leasing
在我的 HTML 中有一个用户添加的所有汽车的列表,但我想创建一个过滤器,以便用户可以过滤tag
以快速找到想要的汽车列表。
由于tag
完全由用户定义,唯一的限制是标签的长度(即,如果用户决定使用标签创建 4 辆汽车,["Workzz","workzz","wOrK","WORK"]
则允许并视为 4 个不同的标签)。每个用户的不同标签的预期数量很少,因此我想要该字段的一些下拉过滤器tag
。
由于我事先不知道tag
用户想要为每辆车设置什么,因此我无法创建ChoiceField
,因此我很难找到一种方法来获取tag
特定(登录)用户的所有唯一值,并将它们放入 DropDown -筛选。
我想到的一种方法是;在视图中,加载给定用户的唯一标签,创建一个带有选择字段(带有标签)的表单,并基于该表单创建一个过滤器。这似乎是一种可能无法很好扩展的肮脏解决方法,但这是我能想出的唯一想法。
解决方案
推荐阅读
- javascript - 如何通过 JavaScript 将用户输入附加到现有文档?
- c# - 无法从 .net 核心授权 GCP Vertex 调用
- mysql - 基于时间的盲注 SQL 注入
- c++ - 为什么VS2019 Pro在通过CMake创建CUDA项目时会出现xutility、xmemory、atomic的编译错误?
- c# - WPF C#在代码中更改资源字典的强调色
- mysql - MySQL 没有使用新数据
- android - 无法显示使用 ACTION_GET_CONTENT 选择的图像
- php - 获取 Google Token ID auth0 Google Login 实现
- angular - 正则表达式在 chrome 中工作但在 safari 中抛出错误
- python - 如何将如下所示的数据框排列成以下形式?