2016-12-14 57 views
0

可能有用的信息:Python 3,PyCharm,使用virtualenv,Flask-SQLAlchemy和SQLite。爲什麼我不能用Python控制檯中的SQLAlchemy進行交談?

我可以通過執行臨時.py文件輕鬆地與SQLAlchemy交談並修改表格,但這很快就變得乏味。

例如:

import time 
import datetime 
import config 
from app import db, models 
from sqlalchemy import desc 
import arrow 


movies_within_the_last_tf = models.Movie.query.filter(models.Movie.timeadded > tf_hours_ago).count() 

不過,我想現在使用控制檯,我不能爲我的生活弄清楚如何開始與我的表進行交互。我嘗試了從import appfrom app import models, dbfrom .models import models的每個進口組合,每次都會得到不同的錯誤。

具體而言,嘗試from models/.models import db會立即拋出「No module named'models'error」。

model.py進口:

from app import db 
from sqlalchemy import Integer, ForeignKey 
from sqlalchemy.orm import relationship 

Here's my project-tree (IMG)

(是的,有在截圖中沒有電影臺,因爲這是一個新的項目,並建立同我以前的一個)

那麼,如何從Python控制檯查詢,創建和刪除給定表中的列呢? (Pycharm的,但我想這應該沒有什麼不同)

+0

你肯定需要'sqlalchemy.engine'並以某種方式得到'connection'(像'engine.connect()')。不知道'app.db'裏面是什麼,很難說出任何東西...... –

+0

@hiroprotagonist謝謝,[這傢伙](https://www.youtube.com/watch?v=F4fTjXSxtE0)是怎麼做的(大約7:20分)?我從來沒有在我的文件中使用sqlalchemy.engine或連接。 – zerohedge

回答

0

但是,我想現在使用控制檯,我不能爲我的生活弄清楚如何開始與我的表進行交互。我已經嘗試了導入應用程序的每個組合,從應用程序導入模型db到.models導入模型,每次都會得到不同的錯誤。

具體來說,從models/.models嘗試import db立即拋出一個「No module named'models'error」。

當您想要導入本地模塊時,PyCharm的控制檯不知道如何解析到models的路徑。但它是很容易解決:

  • 納入PyCharm的源根你的模塊文件夾:
    • 在項目視圖右鍵單擊文件夾
    • Mark Directory as > Sources Root
  • 轉到您的喜好和搜索爲Python Console
    • 請確保您啓用現在10

你可以導入PyCharm的Python的控制檯任何本地模塊。 (你可能需要點擊「重新運行」來重新載入Python控制檯)

相關問題