python - 在doc中显示类 "table"的列参数

标签 python sqlalchemy python-sphinx pyramid

我正在尝试使用 sphinx 生成文档,但输出文档中的信息显示细节出现问题。

我的类(class)

from sqlalchemy import (
    Column,
    Integer,
    Text
)
from ...models.meta import Base

class A(Base):
    """
    **Class A*
    """
    __tablename__ = 'table_a'

    # Columns #
    id= Column(Integer, nullable=False, primary_key=True)
    """Id of element A"""
    description = Column(Text, nullable=False)
    """Description of element A"""

基础定义如下

from sqlalchemy.ext.declarative import declarative_base

NAMING_CONVENTION = {}

metadata = MetaData(naming_convention=NAMING_CONVENTION)

Base = declarative_base(metadata=metadata)

文档中生成的输出与我的专栏类似。

 ### id() Id of element A


 ### description() Description of element A

如何在文档中显示列类型、可为空、primary_key 等?

可以解析这些信息吗?

***** 编辑 ******

问题似乎与Base定义有关。我不知道为什么,但如果从我的类中删除 Base ,文档生成工作会完美。

现在正在寻找 Base 的正确定义。

环境:

Windows 8

Python 3.7

框架 Pyramid 1.10.4

Sqlalchemy 1.3.8

最佳答案

如果我正确理解你的问题,你可以这样做

for key, col in A.__table__.c.items():
   if key == 'id':
      print(col.primary_key) # True

关于python - 在doc中显示类 "table"的列参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57999497/

相关文章:

python - 通过 Flask SQLAlchemy 从 SQLite 读取 BLOB (LargeBinary) 返回 None

多项目 sphinx 设置的国际化

python - 使用 SQLAlchemy OrderingList 更新现有对象的顺序

python - 在使用 Sphinx 文档时,我应该告诉我的 VCS 忽略哪些文件?

python - Django Sphinx 自动模块——基础知识

python - 如何在 python 中可靠地进行清理?

python - Python套接字编程如何接收所有数据

Python:读取超过 1M 的小型 csv 文件并写入数据库

python - PySide:如何获取包含给定小部件的布局?

python - 在 SQLAlchemy 中使用非数据库支持的模型