让我们假设我有这个:
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'})
在仪表板上,有一个可以搜索controtos的标准,此查询:
contratos = Contrato.objects.filter(Q(codigo__icontains=query) | Q(cliente__nome__icontains=query) | Q(status__icontains=query))
但是,我只能搜索状态实际值('a','b','c'),是否有任何可能的方法来搜索实际的文本('castuídodode','produção'等)?
您不能这样做。实际上保存到数据库的值是'A', 'B', 'C'
,以节省存储空间。由于您的查询被转换为DB查询(通常是SQL),并在DB本身上运行,因此您只能查询短值。