mirror of https://github.com/django/django.git
Refs #34362 -- Added get_child_with_renamed_prefix() hook.
This commit is contained in:
parent
addbc90049
commit
afc880571d
|
@ -73,14 +73,17 @@ def get_children_from_q(q):
|
|||
yield child
|
||||
|
||||
|
||||
def get_child_with_renamed_prefix(prefix, replacement, child):
|
||||
if isinstance(child, Node):
|
||||
return rename_prefix_from_q(prefix, replacement, child)
|
||||
lhs, rhs = child
|
||||
lhs = lhs.replace(prefix, replacement, 1)
|
||||
return lhs, rhs
|
||||
|
||||
|
||||
def rename_prefix_from_q(prefix, replacement, q):
|
||||
return Q.create(
|
||||
[
|
||||
rename_prefix_from_q(prefix, replacement, c)
|
||||
if isinstance(c, Node)
|
||||
else (c[0].replace(prefix, replacement, 1), c[1])
|
||||
for c in q.children
|
||||
],
|
||||
[get_child_with_renamed_prefix(prefix, replacement, c) for c in q.children],
|
||||
q.connector,
|
||||
q.negated,
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue