Метод copy класса TypeEngine
Метод copy класса TypeEngine создает
и возвращает независимую копию объекта типа данных.
Метод не принимает обязательных параметров и возвращает
новый экземпляр типа, который можно изменять отдельно
от оригинала. Это полезно, когда нужно получить
модифицированную версию типа, не затрагивая исходный
объект, например, для изменения длины строки или
точности числа.
Синтаксис
TypeEngine.copy()
Пример
Давайте создадим тип String и получим его
копию методом copy:
from sqlalchemy import String
original = String(50)
cloned = original.copy()
print(original)
print(cloned)
print(original is cloned)
Результат выполнения кода:
VARCHAR(50)
VARCHAR(50)
False
Пример
Давайте покажем, что копию можно изменять независимо от оригинала:
from sqlalchemy import String
original = String(50)
cloned = original.copy()
cloned.length = 100
print(original)
print(cloned)
Результат выполнения кода:
VARCHAR(50)
VARCHAR(100)
Пример
Давайте применим метод copy к типу
Integer и проверим независимость копий:
from sqlalchemy import Integer
original = Integer()
cloned = original.copy()
print(original)
print(cloned)
print(original is cloned)
Результат выполнения кода:
INTEGER
INTEGER
False
Смотрите также
-
класс
TypeEngine,
который представляет базовый тип данных -
метод
with_variant,
который создает вариант типа для другой СУБД -
метод
as_generic,
который возвращает обобщенную версию типа -
метод
compile,
который компилирует тип для конкретного диалекта