【发布时间】:2021-04-09 14:24:52
【问题描述】:
在我基于 django 的 Web 应用程序中,我有一个模型,它在 models.py 中定义如下:
class Machine(models.Model):
ip_address = models.TextField(blank=False, unique=True)
hostname = models.TextField(blank=False, unique=True)
在我的 filters.py 文件中,我想创建一个基于 ip_address 字段的过滤器,用户将从选项列表中选择 IP。 我定义如下:
class MachineFilter(django_filters.FilterSet):
ip_address = ModelChoiceFilter(queryset=Machine.objects.all().values_list('ip_address', flat=True))
class Meta:
model = Machine
fields = ['ip_address', 'hostname']
但是,在网络表单中选择所需的 IP 时,我收到以下错误:
IP 地址:选择一个有效的选项。这个选择不是其中之一 可用的选择。
我尝试从值列表定义中删除flat=True,但这仍然不起作用。
我做错了什么?
【问题讨论】:
标签: django django-filter