Ho un'app Pylons che sto usando per i modelli dichiarativi di SqlAlchemy. Per rendere il codice un po 'più pulito, aggiungo una .query alla Base SA e eredito tutti i miei modelli da quella.problemi con l'invio di pylint per trovare metodi ereditati su piloni/modelli SA
Così nel mio app.model.meta devo
Base = declarative_base()
metadata = Base.metadata
Session = scoped_session(sessionmaker())
Base.query = Session.query_property(Query)
penso che ereditano questo in app.model.mymodel e dichiararla come figlio di meta.Base. Questo mi permette di scrivere le mie domande come
mymodel.query.filter(mymodel.id == 3).all()
Il guaio è che pylint non vede .query come un attributo valido dei miei modelli.
E:102:JobCounter.reset_count: Class 'JobCounter' has no 'query' member
Ovviamente questo errore è dappertutto poiché si verifica su qualsiasi modello che esegue una query. Non voglio saltare l'errore perché potrebbe indicare qualcosa in giro per le classi non-orm, ma per questo devo perdere qualcosa per poterlo accettare.
Eventuali suggerimenti?
Sono giunto alla stessa conclusione, ma quello che ho fatto è stato usare la bandiera dei membri generati a pylint. Alla fine ho creato un pylintrc che è stato controllato in git con ogni progetto e aggiunto come: generate-members = commit, query, add, delete – Rick