Bonjour a tous, dans ma fonction je fais une requête en BDD, j'aimerai que quand je compare les enregistrements ils soit comparé en minuscule.
items = set(flatten(map(lambda k: Item.objects.filter(thesaurus__name__contains=k), keywords2)))
Ma variable keywords2 est déjà en minuscule via .lower().
Mais dans ma BDD j'ai des enregistrements qui sont en majuscule ou qui ont des lettres en majuscules et quand je fais ma requête sa ne me prend pas en compte ces enregistrement vu qu'ils sont ne sont pas similaire.
Est t'il possible dans la requête a la BDD de dire qu'il doit les comparé en minuscule du genre (je sais que sa marche pas c'est pour exemple) :
items = set(flatten(map(lambda k: Item.objects.filter(thesaurus__name__contains.lower()=k), keywords2)))
Ou avez vous une autre solutions?
Ma fonction complète :
1 2 3 4 5 6 7 8 9 10 11 12
|
class ItemManager(models.Manager):
def with_keywords(self, keywords):
keywords2 = list(keywords)
if not isinstance(keywords2, list):
return []
if not len(keywords2) > 0:
return []
items = set(flatten(map(lambda k: Item.objects.filter(thesaurus__name__contains=k), keywords2)))
return items |
Merci d'avances !!!!
Partager