PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Django get_or_create falha ao definir o campo quando usado com iexact


O que você está vendo é o comportamento correto.

get_or_create é uma abreviação para 'obter e retornar o objeto correspondente a kwargs , se não existir, crie-o usando defaults '. Sua pesquisa está procurando por um objeto onde name é uma correspondência que não diferencia maiúsculas de minúsculas para 'cedar' . Esse objeto existe, então ele é retornado. Nada mais nada menos.

Agora, se não houver correspondência, Stéphane está certo, e você precisaria especificar name nos defaults parâmetro. Todas as pesquisas contendo o separador de pesquisa __ são retirados dos parâmetros passados ​​para create() .