Проблемы со вставкой формы в sqlAlchemy ⇐ Python
Проблемы со вставкой формы в sqlAlchemy
Python версии 3.11.5
SQLAlchemy 2.0.20
SQLAlchemy.orm 1.2.10
Определение таблицы SQLAlchemy
класс Base(orm.DeclarativeBase): def columnsString (длина, null = True, Primary = False): return db.Column(db.String(Length),nullable=null,primary_key=primary) def columnsInteger(null=False,primary=False): return db.Column(db.Integer(),nullable=null,primary_key=primary) def columnsText(null=False,primary=False): return db.Column(db.Text(),nullable=null,primary_key=primary) defcolumnDateTime(null=False,primary=False): return db.Column(db.DateTime(),nullable=null,primary_key=primary) класс XRNetwork(База): __tablename__ = 'xrnetwork' rowid = Base.columnInteger(primary=True) влан = Base.columnString(35) networkid = Base.columnString(16) cidr = Base.columnString(4) маска подсети = Base.columnString(16) подстановочный знак = Base.columnString(16) трансляция = Base.columnString(16) netcidr = Base.columnString(20) fdqn = Base.columnString(255) шлюз = Base.columnString(16) это используемая функция
def dbInsertData(engine,TableInfo,data): conn=dbSessionOpen(движок) печать(data.items()) print(*(f'{x}="{y}",' для x,y в data.items())) Insert = TableInfo(*(f'{x}="{y}",' for x,y в data.items())) conn.add(вставить) dbSessionClose(подключение) вывод функции
dict_items([('vlan', '100'), ('networkid', '172.18.104.0'), ('cidr', '26'), ('маска подсети', '255.255.255.192 '), ('подстановочный знак', '0.0.0.63'), ('широковещательная рассылка', '172.18.104.63'), ('netcidr', '172.18.104.0/26'), ('fdqn', 'шлюз') , ('шлюз', '172.18.104.1')]) vlan="100", networkid="172.18.104.0", cidr="26", маска подсети="255.255.255.192", подстановочный знак="0.0.0.63", Broadcast="172.18.104.63", netcidr="172.18.104.0 /26", fdqn="шлюз", шлюз="172.18.104.1", Traceback (последний вызов последний): Файл "g:\Dropbox\_Code_Rework\_Projects\DeviceDB\makeDBsqlalchemy.py", строка 93, в control.dbInsertData(движок, Table.XRNetwork, XRNetwork) Файл "g:\Dropbox\_Code_Rework\_Projects\DeviceDB\_Modules\_sqlalchemy\sqlalchemycontrol.py", строка 34, в dbInsertData Insert = TableInfo(*(f'{x}="{y}",' for x,y в data.items())) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ Ошибка типа: __init__() принимает 1 позиционный аргумент, но задано 10 Версия Python аналогична приведенной выше
Версия SQLAlchemy аналогична приведенной выше
Версия SQLAlchemy.orm аналогична приведенной выше
def dbInsertData(engine,TableInfo,data): conn=dbSessionOpen(движок) печать(data.items()) print(*(f'{x}="{y}",' для x,y в data.items())) Insert = TableInfo(vlan="100", networkid="172.18.104.0", cidr="26", маска подсети="255.255.255.192", wildcard="0.0.0.63", Broadcast="172.18.104.63", netcidr= "172.18.104.0/26", fdqn="шлюз", шлюз="172.18.104.1",) conn.add(вставить) dbSessionClose(подключение) выход
dict_items([('vlan', '100'), ('networkid', '172.18.104.0'), ('cidr', '26'), ('маска подсети', '255.255.255.192 '), ('подстановочный знак', '0.0.0.63'), ('широковещательная рассылка', '172.18.104.63'), ('netcidr', '172.18.104.0/26'), ('fdqn', 'шлюз') , ('шлюз', '172.18.104.1')]) vlan="100", networkid="172.18.104.0", cidr="26", маска подсети="255.255.255.192", подстановочный знак="0.0.0.63", Broadcast="172.18.104.63", netcidr="172.18.104.0 /26", fdqn="шлюз", шлюз="172.18.104.1", Это работает, поэтому было интересно, что я делаю не так
Python версии 3.11.5
SQLAlchemy 2.0.20
SQLAlchemy.orm 1.2.10
Определение таблицы SQLAlchemy
класс Base(orm.DeclarativeBase): def columnsString (длина, null = True, Primary = False): return db.Column(db.String(Length),nullable=null,primary_key=primary) def columnsInteger(null=False,primary=False): return db.Column(db.Integer(),nullable=null,primary_key=primary) def columnsText(null=False,primary=False): return db.Column(db.Text(),nullable=null,primary_key=primary) defcolumnDateTime(null=False,primary=False): return db.Column(db.DateTime(),nullable=null,primary_key=primary) класс XRNetwork(База): __tablename__ = 'xrnetwork' rowid = Base.columnInteger(primary=True) влан = Base.columnString(35) networkid = Base.columnString(16) cidr = Base.columnString(4) маска подсети = Base.columnString(16) подстановочный знак = Base.columnString(16) трансляция = Base.columnString(16) netcidr = Base.columnString(20) fdqn = Base.columnString(255) шлюз = Base.columnString(16) это используемая функция
def dbInsertData(engine,TableInfo,data): conn=dbSessionOpen(движок) печать(data.items()) print(*(f'{x}="{y}",' для x,y в data.items())) Insert = TableInfo(*(f'{x}="{y}",' for x,y в data.items())) conn.add(вставить) dbSessionClose(подключение) вывод функции
dict_items([('vlan', '100'), ('networkid', '172.18.104.0'), ('cidr', '26'), ('маска подсети', '255.255.255.192 '), ('подстановочный знак', '0.0.0.63'), ('широковещательная рассылка', '172.18.104.63'), ('netcidr', '172.18.104.0/26'), ('fdqn', 'шлюз') , ('шлюз', '172.18.104.1')]) vlan="100", networkid="172.18.104.0", cidr="26", маска подсети="255.255.255.192", подстановочный знак="0.0.0.63", Broadcast="172.18.104.63", netcidr="172.18.104.0 /26", fdqn="шлюз", шлюз="172.18.104.1", Traceback (последний вызов последний): Файл "g:\Dropbox\_Code_Rework\_Projects\DeviceDB\makeDBsqlalchemy.py", строка 93, в control.dbInsertData(движок, Table.XRNetwork, XRNetwork) Файл "g:\Dropbox\_Code_Rework\_Projects\DeviceDB\_Modules\_sqlalchemy\sqlalchemycontrol.py", строка 34, в dbInsertData Insert = TableInfo(*(f'{x}="{y}",' for x,y в data.items())) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ Ошибка типа: __init__() принимает 1 позиционный аргумент, но задано 10 Версия Python аналогична приведенной выше
Версия SQLAlchemy аналогична приведенной выше
Версия SQLAlchemy.orm аналогична приведенной выше
def dbInsertData(engine,TableInfo,data): conn=dbSessionOpen(движок) печать(data.items()) print(*(f'{x}="{y}",' для x,y в data.items())) Insert = TableInfo(vlan="100", networkid="172.18.104.0", cidr="26", маска подсети="255.255.255.192", wildcard="0.0.0.63", Broadcast="172.18.104.63", netcidr= "172.18.104.0/26", fdqn="шлюз", шлюз="172.18.104.1",) conn.add(вставить) dbSessionClose(подключение) выход
dict_items([('vlan', '100'), ('networkid', '172.18.104.0'), ('cidr', '26'), ('маска подсети', '255.255.255.192 '), ('подстановочный знак', '0.0.0.63'), ('широковещательная рассылка', '172.18.104.63'), ('netcidr', '172.18.104.0/26'), ('fdqn', 'шлюз') , ('шлюз', '172.18.104.1')]) vlan="100", networkid="172.18.104.0", cidr="26", маска подсети="255.255.255.192", подстановочный знак="0.0.0.63", Broadcast="172.18.104.63", netcidr="172.18.104.0 /26", fdqn="шлюз", шлюз="172.18.104.1", Это работает, поэтому было интересно, что я делаю не так
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Путаница со вставкой данных из формы в профиле пользователя в базу данных
Anonymous » » в форуме Php - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Путаница с вставкой данных из формы в профиле пользователя в базу данных [закрыто]
Anonymous » » в форуме Php - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-