Как запросить базу данных по идентификатору с помощью SqlAlchemy?

Мне нужно запросить базу данных SQLAlchemy по ее id , что-то вроде

User.query.filter_by (username = 'peter')

но для id. Как мне это сделать? [Поиск в Google и SO не помог]

70
задан Oerd 1 February 2014 в 13:35
поделиться

2 ответа

Если Вы используете tables reflection, у Вас могли бы быть проблемы с данными решениями. (Предыдущие решения здесь не работали на меня).

то, Что я закончил тем, что использовал, было:

session.query(object._class_).get(id)

(object был получен отражением от базы данных, это - то, почему необходимо использовать .__class__)

, я надеюсь, что это помогает.

1
ответ дан 24 November 2019 в 13:24
поделиться

Во-первых, необходимо установить id как первичный ключ.
Тогда Вы могли использовать query.get() метод для запросов объектов id, который уже является первичным ключом.

Начиная с query.get() метод для запросов объектов первичным ключом.
Выведенный от документация Фляги-SQLAlchemy

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
db = SQLAlchemy()
db.init_app(app)

class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)

def test():
    id = 1
    user = User.query.get(id)
0
ответ дан 24 November 2019 в 13:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: