dropbox / sqlalchemy-stubs

Mypy plugin and stubs for SQLAlchemy
Apache License 2.0
572 stars 102 forks source link

Hints do not work with imported Base #246

Open Phinnik opened 2 years ago

Phinnik commented 2 years ago

There are no hints in PyCharm for models, which inherit declarative base from another module. Here is example:

# base.py
import re

from sqlalchemy import Column, Integer, DateTime
from sqlalchemy.ext.declarative import declared_attr
from sqlalchemy.sql import func
from sqlalchemy.ext.declarative import declarative_base

class Base:
    @declared_attr
    def __tablename__(cls):
        return cls.__name__.lower()

    id = Column(Integer, primary_key=True, index=True)
    created_at = Column(DateTime(timezone=True), nullable=False, server_default=func.now())

Base = declarative_base(cls=Base)
# models.py
from base import Base
from sqlalchemy import Integer, String, Column

class SomeModel(Base):
    id = Column(Integer, primary_key=True)
    name = Column(String)
    description = Column(String)

изображение

denyszhak commented 1 year ago

@Phinnik

Doesn't seem to be an issue for me in VS Code. Are you sure you are pointing to the right environment in Pycharm?

image