Итак, я просто пытаюсь понять вывод методов SQLAlchemy ORM после создания модели, фиксации некоторых записей и выполнения запросов.Большинство запросов в порядке ... Я получаю список обратно, но для некоторых он просто возвращает объект (см. Ниже).Я знаю, это звучит очевидно, но это нормальное поведение?Я имею в виду запрос filter_by, как вы можете видеть ниже ...
#sample_app.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app=Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI']='...'
db = SQLAlchemy(app)
class Person(db.Model):
__tablename__='persons'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(), nullable=False)
def __repr__(self):
return f'<Person Id: {self.id}, name: {self.name}>'
db.create_all()
#Run some basic commands in interactive mode with model already populated
python3
from sample_app import db,Person
#add a bunch of persons
person1=Person(name='Amy')
person2=...
db.session.add(person1)
db.session.commit()
...
#Run queries
Person.query.all() #returns all persons as a list
Person.query.first() #returns first item in the list
Person.query.filter_by(name='Amy')
#returns <flask_sqlalchemy.Basequery object at 0xsadfjasdfsd>
Так почему я не получаю такой же тип вывода для третьего запроса для 'Amy«?это нормальное поведение для метода filter_by?
Спасибо