我正在使用mongoengine和Django 1.8,我的项目需要连接到一个MongoDB实例,而另一个实例需要sql.But我收到此错误 -
命令提示符 -
python manage.py runserver
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_from_command_line(sys.argv)
File "/var/www/html/admin_python/orahienv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/var/www/html/admin_python/orahienv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 312, in execute
django.setup()
File "/var/www/html/admin_python/orahienv/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/var/www/html/admin_python/orahienv/local/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
File "/var/www/html/admin_python/orahienv/local/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/var/www/html/admin_python/admin_app/models.py", line 212, in <module>
class location(Document):
File "/var/www/html/admin_python/admin_app/models.py", line 213, in location
user_id = IntegerField(blank=True, null=True)
NameError: name 'IntegerField' is not defined
我的setting.py文件 -
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'admin_db',
'USER': 'root',
'PASSWORD': 'root',
'HOST': 'localhost',
},
}
from mongoengine import connect
connect(
db='pom',
username='admin',
password='root',
host='mongodb://admin:root@localhost'
)
所以首先我决定完成与mongodb相关的所有工作,然后我将转到sql.This是mongodb数据库模型的代码
我的model.py文件 -
class location(Document):
user_id = IntegerField(blank=True, null=True)
name = CharField(max_length=100)
loc_lon = FloatField(blank=True, null=True)
timestamp = IntegerField(blank=True, null=True)
activity = StringField()
lot_lat = FloatField(blank=True, null=True)
batter_status = StringField()
address = StringField()
date_created = DateTimeField(auto_now_add=True)
并且plz可以引用任何MongoEngine和Django1.8教程......
答案 0 :(得分:2)
timestamp = IntField(blank=True, null=True)
但最好使用
timestamp = DateTimeField(blank=True, null=True)
作为时间戳
答案 1 :(得分:0)
IntergerField
无效,请改用IntField
。
user_id = IntField(blank=True, null=True)
参考:http://docs.mongoengine.org/apireference.html#mongoengine.fields.IntField