Tôi làm cách nào để sử dụng contains
và iexact
Tra cứu trường tại cùng một truy vấn ở Django?Sử dụng "chứa" và "iexact" tại cùng một truy vấn trong DJANGO
Giống như rằng ..
casas = Casa.objects.filter(nome_fantasia__contains__iexact='green')
Tôi làm cách nào để sử dụng contains
và iexact
Tra cứu trường tại cùng một truy vấn ở Django?Sử dụng "chứa" và "iexact" tại cùng một truy vấn trong DJANGO
Giống như rằng ..
casas = Casa.objects.filter(nome_fantasia__contains__iexact='green')
Nếu bạn cần case-insensitive contains
, sử dụng icontains
:
casas = Casa.objects.filter(nome_fantasia__icontains = 'green')
Đó là chuyển đổi sang
... WHERE nome_fantasia ILIKE '%green%'
trong SQL.
Thành thật mà nói, bạn không cần. Hai kết quả trùng lặp. Nếu bạn có ý định AND
thì chỉ cần sử dụng hạn chế nhất: __iexact
. nếu bạn muốn sử dụng OR
__contains
Chỉ cần trả lời câu hỏi của bạn, bạn có thể làm điều gì đó như dưới đây (lưu ý đây là một AND
)
casas = Casa.objects.filter(nome_fantasia__contains='green', nome_fantasia__iexact='green')
Câu hỏi của ông gần như chắc chắn là làm thế nào để làm một trường hợp không phân biệt 'chứa'. – agf
Câu trả lời của tôi trả lời câu hỏi khi nó được diễn đạt. Bạn có thể đúng mặc dù. Chúng ta sẽ thấy, những gì anh ta nói khi anh ta nhảy trở lại. –
Xem nhận xét của anh ấy về câu trả lời của tôi. – agf
nhờ nó làm việc. – rayashi