【发布时间】:2021-02-15 15:24:27
【问题描述】:
我是 Django 新手,但遇到了 forms.py 的问题。我通过 Models.Py 从数据库中提取值,然后将这些对象用作我的 Django 页面上的下拉列表。
例如,我将汽车数据存储在数据库中:
本田 |雅阁 |黑色 | 2016
丰田 |凯美瑞 |红色 | 2014
福特 |融合 |白色 | 2018
本田 |思域 |银 | 2020
丰田 |卡罗拉 |黑色 | 2010
等等。在models.py中,我有:
class MyCars(models.Model):
make_name = models.CharField(max_length=50, blank=True, null=True)
model_name = models.CharField(max_length=50, blank=True, null=True)
color = models.CharField(max_length=15, blank=True, null=True)
year = models.CharField(max_length=15, blank=True, null=True)
def __str__(self):
all_cars = []
return self.make_name
class Meta:
managed = False
db_table = 'my_cars'
然后在我的 form.py 中,我按照以下方式做一些事情:
all_cars = forms.ModelChoiceField(queryset=MyCars.objects.all())
问题是,当我只需要本田在下拉列表中出现一次时,我将获得本田、丰田等的重复值。有什么建议/想法可以通过这个过滤吗?
【问题讨论】:
-
您只想选择make_name?或者
<make_name> <model_name>是正确的吗? -
否 - 我想将品牌和型号分开