Метод difference_update_query класса URL
Метод difference_update_query класса URL удаляет
из части query URL подключения те параметры,
которые были переданы в метод. Первым параметром
передается словарь с ключами для удаления, значения
словаря при этом игнорируются. Метод изменяет объект
URL на месте и ничего не возвращает.
Синтаксис
url.difference_update_query(names)
Пример
Давайте создадим объект URL с несколькими параметрами в query-строке и удалим один из них:
from sqlalchemy.engine import make_url
url = make_url('sqlite:///:memory:?user=article&status=active')
url.difference_update_query(['status'])
print(url)
Результат выполнения кода:
"sqlite:///:memory:?user=article"
Пример
Давайте удалим сразу несколько параметров из query-строки, передав список ключей:
from sqlalchemy.engine import make_url
url = make_url('sqlite:///:memory:?user=article&status=active&num=10')
url.difference_update_query(['user', 'num'])
print(url)
Результат выполнения кода:
"sqlite:///:memory:?status=active"
Пример
Давайте передадим словарь с ключами для удаления. Значения словаря не учитываются:
from sqlalchemy.engine import make_url
url = make_url('sqlite:///:memory:?user=article&status=active&num=10')
url.difference_update_query({'user': 'article', 'num': 10})
print(url)
Результат выполнения кода:
"sqlite:///:memory:?status=active"
Пример
Давайте попробуем удалить ключ, которого нет в query-строке, и убедимся, что URL не изменится:
from sqlalchemy.engine import make_url
url = make_url('sqlite:///:memory:?user=article')
url.difference_update_query(['missing'])
print(url)
Результат выполнения кода:
"sqlite:///:memory:?user=article"
Смотрите также
-
класс
URL,
который представляет разобранный URL подключения -
метод
update_query_dict,
который добавляет и обновляет параметры query-строки -
метод
create,
который создает новый объект URL на основе текущего -
атрибут
query,
который хранит параметры query-строки URL