Ich habe einen Befehl, der Anforderungen durchsucht, und ich muss einige von ihnen nach zwei Regeln extrahieren.Django-Queryset exclude regex
Es sollte
include '^https?:\/\/[^.]*\.?site\.co([^?]*[?]).*utm_.*$'
or
exclude '^https?:\/\/[^.]*\.?site\.([^\/]+\/)*'
So eine mögliche SQL Darstellung ausarbeitet, kam ich mit:
exclude (
matching '^https?:\/\/[^.]*\.?site\.([^\/]+\/)*'
and
not matching '^https?:\/\/[^.]*\.?site\.co([^?]*[?]).*utm_.*$'
)
übersetzen, die in django zu:
.exclude(
Q(referer__iregex=r'^https?:\/\/[^.]*\.?site\.co([^?]*[?]).*utm_.*$') &
Q(referer__not_iregex=r'^https?://[^.]*\.?site\.[^/]+/?[\?]*$'))
Aber leider, Die __not_iregex
Suche existiert nicht. Was könnte das Problem umgehen?
Haben Sie versucht, mit 'filter' für ein und' exclude' für den anderen. Das könnte um den "Nicht-Teil" funktionieren. Sicherlich verschiebst du auch die Negation in die Regex selbst. – schwobaseggl