joa*_*uin 7 python sqlalchemy pycharm
在SqlAlchemy模型中,我收到来自pycharm的警告,说明列具有意外类型.
产生警告的简化代码如下:
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
Base = declarative_base()
class Peptide(Base):
__tablename__ = 'peptides'
sequence = Column(String, primary_key=True)
scan = Column(Integer)
def __init__(self, scan, sequence):
self.scan = scan
self.sequence = sequence
def __repr__(self):
return '<Peptide "%s" Scan %i>' % (self.sequence, self.scan)
Run Code Online (Sandbox Code Playgroud)
该警告给出self.scan的__repr__方法.如果我将格式字符串更改为:
return '<Peptide "%s" Scan %s>' % (self.sequence, self.scan)
Run Code Online (Sandbox Code Playgroud)
警告消失了.但实际上self.scan已被定义为模型中的整数,而不是字符串.令人惊讶的是,以下字符串不会产生任何警告:
return '<Scan %i>' % self.scan
Run Code Online (Sandbox Code Playgroud)
这是pycharm检查器的过度反应还是与SqlAlchemy类型有关?
| 归档时间: |
|
| 查看次数: |
2745 次 |
| 最近记录: |