2010-10-31 10 views
12

SqlAlchemy bildirim modellerini kullanıyorum bir Pylons uygulamasına sahibim. Kodu biraz daha temiz hale getirmek için SA Tabanı'na bir .query ekledim ve tüm modellerimi bundan devraldım. sorunları pylons/SA modellerinde kalıtsal yöntemler bulmak için sorun yaşanıyor

Yani benim app.model.meta ben

Base = declarative_base() 
metadata = Base.metadata 
Session = scoped_session(sessionmaker()) 

Base.query = Session.query_property(Query) 

ben app.model.mymodel içine bu miras ve meta.Base bir çocuk olarak ilan düşünüyorum var. Bu PyLint benim modellerinin geçerli bir niteliği olarak .query göremiyorum olmasıdır beni

mymodel.query.filter(mymodel.id == 3).all() 

sorun olarak benim sorguları yazmanıza olanak tanır.

E:102:JobCounter.reset_count: Class 'JobCounter' has no 'query' member 

Açıktır ki bu hata, herhangi bir sorguda herhangi bir modelin üzerinde gerçekleştiği için her yerde olur. Hatayı atlamak istemiyorum çünkü bu, ormanın dışındaki sınıflardaki bir şeyi işaret edebilir, ancak bunu kabul etmek için bir şey kaçırmam gerekir.

Herhangi bir ipucu?

cevap

9

Bunun için bulabildiğim en iyi şey, bu girişi görmezden gelmek için sınıfların bir listesini geçmek.

pylint --ignored-classes=MyModel1,MyModel2 myfile.py

Bunun ideal değil biliyorum, ama yol hakkında bir şey sqlalchemy kurar, bu da var: Hala sadece bu yerde listesini tutmak gerekecek, bu sınıflar için diğer kontroller yapacağız pylint'i karıştıran modeller. En azından bununla, hala ormansız sınıfların kontrolünü elde edersiniz.

+2

Aynı sonuca vardım, ama yaptığım şey, oluşturulan üye bayrağını pilleğe kullanmaktı. Ben her proje ile git işaretlenmiş bir pylintrc oluşturma sona erdi ve gibi eklendi: created-members = commit, query, ekle, sil – Rick

İlgili konular