在文档中显示“表”类的列参数

时间:2019-09-18 19:18:43

标签: python sqlalchemy python-sphinx pyramid

我正在尝试使用sphinx生成文档,但是在输出文档中显示信息的详细信息时遇到了问题。

我的课

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

金字塔金字塔1.10.4

Sqlalchemy 1.3.8

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,则可以执行以下操作

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