2016-08-23 14 views
6

मैं SQLAlchemy और Pycharm उपयोग कर रहा हूँ काम नहीं कर रहा है, लेकिन PyCharm स्वत: पूर्ण कार्य के लिए SQLAlchemy के तरीकों नहीं देख सकता।Pycharm SQLAlchemy स्वत: पूर्ण

कोड:

from flask import Flask 
from flask_sqlalchemy import SQLAlchemy 

app = Flask(__name__) 
app.config['SECRET_KEY'] = 'secret!' 
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///data.sqlite3' 
db = SQLAlchemy(app) 


class User(db.Model): 
    __tablename__ = 'users' 
    id = db.Column(db.Integer, primary_key=True) 
    username = db.Column(db.String(16), index=True, unique=True) 

if __name__ == '__main__': 
    db.create_all() 
    app.run(debug=True) 

उदाहरण के लिए, अगर मैं उपयोगकर्ता वर्ग के SQLAlchemy विधि कॉल चाहते मैं पूर्ण विधि नाम मैन्युअल User.query.filter_by टाइप करना होगा (उपयोगकर्ता नाम = 'पीटर') पहली() Autocomplete example

कैसे SQLAlchemy लिए स्वत: पूर्ण काम करने के लिए?

1) हां, परियोजना को कई बार
2 फिर से लोड किया गया था) हाँ, फ़ाइल में सही दुभाषिया। सेटिंग्स | परियोजना
3) हाँ, PyCharm नहीं पावर सेव मोड
4) हाँ, मैं व्यावसायिक संस्करण है में है।

+1

की संभावित डुप्लिकेट [PyCharm SQLAlchemy स्वत: पूर्ण] (http://stackoverflow.com/questions/21793590/pycharm-sqlalchemy-autocomplete) –

उत्तर

3

PyCharm (या किसी अन्य आईडीई) सबसे तरीकों (query(), add(), commit() आदि) के रूप में वे flask_sqlalchemy.SQLAlchemy वर्ग में परिभाषित नहीं कर रहे हैं नहीं मिल सकता है। प्रारंभिकरण के दौरान गतिशील रूप से 0Qवस्तुओं में SQLAlchemy विधियों को जोड़ा जाता है। आप flask_sqlalchemy module में इस आरंभीकरण समारोह पा सकते हैं:

def _include_sqlalchemy(obj): 
    for module in sqlalchemy, sqlalchemy.orm: 
     for key in module.__all__: 
      if not hasattr(obj, key): 
       setattr(obj, key, getattr(module, key)) 
बस के परीक्षण के लिए

: आप from sqlalchemy.orm import Query लिख सकते हैं। मुझे लगता है कि पाइचर्म को इसकी ऑब्जेक्ट्स ठीक लगेगी।

मैं किसी भी समाधान है, शायद कोई सुझाव नहीं दे सकते किसी और यहाँ गतिशील रूप से जोड़ा गुण स्वतः पूर्ण की संभावना के बारे में पता है।

संबंधित मुद्दे