Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何根据选项文本查询具有选项的字符域?_Django - Fatal编程技术网

Django 如何根据选项文本查询具有选项的字符域?

Django 如何根据选项文本查询具有选项的字符域?,django,Django,假设我有这个: class Contrato(models.Model): cliente = models.ForeignKey(Cliente) STATUS = ( ('A', 'Aguardando material'), ('B', 'Em produção'), ('C', 'Concluído'), ) status = models.CharField(max_length=2, choices=ST

假设我有这个:

class Contrato(models.Model):
    cliente = models.ForeignKey(Cliente)
    STATUS = (
        ('A', 'Aguardando material'),
        ('B', 'Em produção'),
        ('C', 'Concluído'),
    )
    status = models.CharField(max_length=2, choices=STATUS, default='B')
    codigo = models.CharField(max_length=255, unique=True, verbose_name='código', error_messages={'unique': 'Já existe um cliente com este'})
在仪表板上,有一个用于搜索Contratos的栏,此查询:

contratos = Contrato.objects.filter(Q(codigo__icontains=query) | Q(cliente__nome__icontains=query) | Q(status__icontains=query))

但是,我只能搜索状态实际值('A','B','C'),是否有任何可能的方法来搜索实际文本('Concluído','Produço',等等)?

您不能这样做。为节省存储空间,实际保存到数据库中的值为
'A',B',C'
。由于您的查询转换为DB查询(通常是SQL),并在DB本身上运行,因此您只能查询较短的值。

检查此项:使用循环可以获得这样的结果。