Вот мой класс загрузчика, ItemLoader.py :
from google.appengine.ext import db
from google.appengine.tools import bulkloader
import models
class ItemLoader(bulkloader.Loader):
def __init__(self):
bulkloader.Loader.__init__(self, 'Item', [('CSIN', int), # not too DRY...
('name', str),
('price', int),
('quantity', int)
]
)
loaders = [ItemLoader]
Вот моя любезная реализация, models.py :
from google.appengine.ext import db
class Item(db.Model):
CSIN = db.IntegerProperty()
name = db.StringProperty()
price = db.IntegerProperty() # OK that it's an int?
quantity = db.IntegerProperty()
Они по сути скопированы из GAE инструкции . Когда я запускаю appcfg.py
, я получаю эту ошибку:
ImportError: No module named models
Что я делаю не так? Если я возьму это утверждение импорта, я получу другую ошибку:
... No implementation for kind 'Item'
ОБНОВЛЕНИЕ 1: Я попытался скопировать / вставить непосредственно из инструкций Google, и я получил ту же ошибку импорта.
ОБНОВЛЕНИЕ 2: Изменено имя реализации вида на models.py
. Все еще не работает. И ItemLoader.py
, и models.py
находятся в одном каталоге.
ОБНОВЛЕНИЕ 3: хакерское решение: поместите их обоих в один файл! Это работает, но что я не понимаю об импорте?