Ich versuche, eine Zeichenfolge яблуко*
für Postgres regex Abfrage zu entkommen:Ungültiger regulärer Ausdruck: ungültige Escape Sequenz, Postgres, Django
name = re.escape('яблуко*')
Model.objects.filter(name__iregex='^%s' % name)
Das gibt mir:
Ungültiger regulärer Ausdruck: Ungültige Escape \ Sequenz
Was mache ich falsch?
P.S. Ich weiß, dass ich es mit istartswith
tun kann, nur wundernd, warum Regex nicht funktioniert.
Ich kann Ihren Fehler nicht reproduzieren. Bitte fügen Sie die vollständige Fehlermeldung hinzu. – DyZ
Warum benutzen Sie 're.escape' überhaupt? Sollte es nicht einfach "Model.objects.filter (name__iregex = r'яблуко * ')" [nach den Dokumenten] sein (https://docs.djangoproject.com/en/1.11/ref/models/querysets/#iregex) Wie sieht "name" aus, wenn Sie es vor dem Filter "queryset" drucken? –
warum nicht 'name = r'яблуко * ''? Für mich geht das. –