如何使用flask_sqlalchemy从MySQL中获取varchar类型的数据?

问题描述 投票:0回答:1

我有一个flask应用程序,它是与MySQL数据库的互动,使用的是 flask_sqlalchemy 包,我正试图获取数据 where slug = 'my_slug_data' and is_published=false and is_delete=false 使用下面的查询,但我没有得到任何回应。

aPost = Posts.query.filter_by(slug=slug, is_published=True, is_delete=False)
print(aPost)

当我打印 aPost.然后就会显示出下面的查询

SELECT posts.id AS posts_id, posts.created_by AS posts_created_by, posts.created_on AS posts_created_on, posts.updated_on AS posts_updated_on, posts.is_published AS posts_is_published, posts.is_delete AS posts_is_delete, posts.title AS posts_title, posts.slug AS posts_slug, posts.sub_title AS posts_sub_title, posts.content AS posts_content, posts.tags AS posts_tags
FROM posts
WHERE posts.slug = %(slug_1)s AND posts.is_published = true AND posts.is_delete = false

以下是职位模型

class Posts(db.Model):
    #id, created_by, created_on, updated_on, is_published, is_delete, title, slug, sub_title, content, tags

    id = db.Column(db.Integer, primary_key=True)
    created_by = db.Column(db.Integer, nullable=False)
    created_on = db.Column(db.String(12), nullable=True)
    updated_on = db.Column(db.String(12), nullable=True)
    is_published = db.Column(db.Boolean, nullable=True)
    is_delete = db.Column(db.Boolean, nullable=True)
    title = db.Column(db.String(100), nullable=False)
    slug = db.Column(db.String(130), nullable=True, unique=True)
    sub_title = db.Column(db.String(150), nullable=True)
    content = db.Column(db.String(), nullable=False)
    tags = db.Column(db.JSON, nullable=True)

谁能指导我,我在查询中做错了什么?

python mysql flask flask-sqlalchemy
1个回答
1
投票

试试这个。

for obj in Posts.query.all():
    print(obj.id, obj.slug, obj.is_published, obj.is_delete)
print(Posts.query.filter_by(slug=slug))
print(Posts.query.filter_by(slug=slug, is_published=True))
aPost = Posts.query.filter_by(slug=slug, is_published=True, is_delete=False).first()
print(aPost)
© www.soinside.com 2019 - 2024. All rights reserved.