我正在使用Google App Engine,我想在另一个.py文件中使用我的ndb模型,但我无法导入它。
这是我的main.py;
from google.appengine.ext import ndb
class User(ndb.Model):
username = ndb.StringProperty()
created_date = ndb.DateTimeProperty(auto_now=True)
follower_list = ndb.StringProperty(repeated=True)
这是我的cron.py文件中的一些代码:
from google.appengine.ext import ndb
save_user = User.query().filter(User.username == username)
但我得到了:
ImportError:
No module named User
如何导入User类?
答案 0 :(得分:3)
创建模型时,您只是实例化一个类并将其分配给名为User
的变量。在python中,这些变量绑定到它们声明的模块,并且没有隐式全局变量,所以如果你想在另一个模块中使用它,你需要导入它:
from google.appengine.ext import ndb
import main
save_user = main.User.query().filter(main.User.username == username)
但最佳做法是在models.py
文件中创建模型,并在需要时随时导入。
顺便说一句,你的错误暗示你在cron文件中尝试import User
,是这样吗?无论哪种方式,我认为你现在应该得到这个想法:)