Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 金字塔中的这个结构是什么意思?_Python_Python 3.x_Pyramid - Fatal编程技术网

Python 金字塔中的这个结构是什么意思?

Python 金字塔中的这个结构是什么意思?,python,python-3.x,pyramid,Python,Python 3.x,Pyramid,建造自 我不明白这句话是怎么回事 query = request.dbsession.query(BlogRecord) 据我所知,我们创建了一个查询类的示例,但我们从中得到了什么: query(BlogRecord)从BlogRecord继承 request.dbsession.query我不知道 假设您已经完成了教程中前面的所有步骤,包括和,您会知道BlogRecord是类BlogRecord的对象或实例,该类继承自models.meta中定义的SQLAlchemy元数据Base类,该类是

建造自

我不明白这句话是怎么回事

query = request.dbsession.query(BlogRecord)
据我所知,我们创建了一个查询类的示例,但我们从中得到了什么:

  • query(BlogRecord)
    从BlogRecord继承
  • request.dbsession.query
    我不知道

  • 假设您已经完成了教程中前面的所有步骤,包括和,您会知道
    BlogRecord
    是类
    BlogRecord
    的对象或实例,该类继承自
    models.meta中定义的SQLAlchemy元数据
    Base
    类,该类是使用
    alchemy
    cookiecutter创建的。这一行:

    query = request.dbsession.query(BlogRecord)
    
    创建变量
    query
    ,并指定数据库查询对象作为其值。它还没有执行查询。下一行执行此操作并返回结果

    更进一步,分解
    request.dbsession.query
    request
    部分是一个在金字塔中传递的对象。属性可以附加到请求对象,在这种情况下,
    dbsession
    对象(SQLAlchemy数据库会话对象)就是属性。这又有一个名为
    query
    的方法,该方法接受数据模型作为其参数

    这主要是关于类和方法的Python内容,而不是特定于Pyramid。我建议阅读Python文档和教程中的更多内容

    注意:来自@not \-u a \-u bot \-u no \-u really \-u 82353的答案完全错误。金字塔不使用
    请求
    (复数)库。金字塔有一个巨大的空间。此外,“文档”是社区提供的教程,而不是文档。有关官方文档和教程,请访问关于“BlogRecord从何而来”的

    :它是在同一教程前面的几节课中定义的:。将Python类映射到数据库表并允许查询数据库的库是SQLAlchemy(Pyramid本身没有内置的持久化机制),您需要查看SQLAlchemy文档以了解模型和查询的工作原理:
    query = request.dbsession.query(BlogRecord)