def delete_heroes():
with Session(engine) as session:
statement = select(Hero).where(Hero.name == "Spider-Youngster")
results = session.exec(statement)
hero = results.one()
print("Hero: ", hero)
session.delete(hero)
session.commit()
< /code>
Но как я могу удалить все строки, соответствующие условию? Я попытался использовать функцию .all () < /p>
def delete_heroes():
with Session(engine) as session:
statement = select(Hero).where(Hero.name == "Spider-Youngster")
results = session.exec(statement)
hero = results.all()
print("Hero: ", hero)
session.delete(hero)
session.commit()
< /code>
Но все, что я получаю, это ошибка:
sqlalchemy.orm.exc.UnmappedInstanceError: Class 'builtins.list' is not mapped< /code> < /p>
Мое решение использует цикл для итерации по нескольким линиям, удаляйте каждую строку и совершайте в конце. < /p>
def delete_heroes():
with Session(engine) as session:
statement = select(Hero).where(Hero.name == "Spider-Youngster")
results = session.exec(statement)
hero = results.all()
print("Hero: ", hero)
for result in results:
session.delete(result)
session.commit()
The documentation of SqlModel about DELETE action: https://sqlmodel.tiangolo.com/tutorial/delete/ shows how to delete a single line using the functions [list] [*].one() - If only a single record is expected [/list] или < /p>
.first () - чтобы получить 1 -ю строку из нескольких строк. < /li> < /ul> [code]def delete_heroes(): with Session(engine) as session: statement = select(Hero).where(Hero.name == "Spider-Youngster") results = session.exec(statement) hero = results.one() print("Hero: ", hero)
session.delete(hero) session.commit() < /code> Но как я могу удалить все строки, соответствующие условию? Я попытался использовать функцию .all () < /p> def delete_heroes(): with Session(engine) as session: statement = select(Hero).where(Hero.name == "Spider-Youngster") results = session.exec(statement) hero = results.all() print("Hero: ", hero)
session.delete(hero) session.commit() < /code> Но все, что я получаю, это ошибка: sqlalchemy.orm.exc.UnmappedInstanceError: Class 'builtins.list' is not mapped< /code> < /p>
Мое решение использует цикл для итерации по нескольким линиям, удаляйте каждую строку и совершайте в конце. < /p> def delete_heroes(): with Session(engine) as session: statement = select(Hero).where(Hero.name == "Spider-Youngster") results = session.exec(statement) hero = results.all() print("Hero: ", hero)
for result in results: session.delete(result)
session.commit() [/code] [b] есть ли способ сделать это без цикла? [/b]
Я просматриваю классы SQLModel, извлекаю информацию о поле и создаю файл формата .dbml на основе деталей. Это отлично работает, за исключением попыток найти информацию о внешнем ключе в полях. Вот пример классов SQLModel:
Я просматриваю классы SQLModel, извлекаю информацию о поле и создаю файл формата .dbml на основе деталей. Это отлично работает, за исключением попыток найти информацию о внешнем ключе в полях. Вот пример классов SQLModel:
У меня есть неизменное.map (запланированные загрузки), и я хочу переместить все записи, где val.get ('loads_client_id') === clientId.client_slot в конце карты, сохраняя порядок всех других записей. rootloads.get (planned_loads) || по умолчанию
:...
Я хочу отображать имя субъекта , чьи флаг в таблице студентов - все заполнен . Флаг.
Ожидаемый результат заключается в следующем:
Id Name Loc
SBJ2 Subject2 Place2
SBJ3 Subject3 Place3