我是 Django 的新手,我正在制作一个 Django 应用程序,我应该在其中通过 py-mongo 使用 MySQL 和 MongoDB。(我试图只使用 py-mongo,而不是 mongoengine)
我创建了一个应用程序“测试应用程序”,其模型“书籍”和 CRUD 视图似乎工作正常(所有书籍都被保存和检索)。
但是,由于某种原因,我似乎无法在 MySQL db 和 MongoDB 中找到这些书籍。我不确定模型使用的是哪个数据库。
Redis也有设置,但是即使重新启动服务器后模型条目也在那里,所以我猜它不在缓存中。
我的设置是:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '127.10.0.1',
'NAME': 'test_db',
'USER': 'test_user',
'PASSWORD': 'test_pass',
}
}
CACHES = {
'default': {
'BACKEND': 'redis_cache.RedisCache',
'LOCATION': '127.10.0.1:6379',
'OPTIONS': {
'DB': 0,
},
},
}
MONGODB = {
'default': {
'HOST': '127.10.0.1',
'PORT': '27017',
'NAME': 'django',
}
}
还有我的 requirements.txt:
Django>=1.8,<1.9
docker-compose>1.11
django-redis-cache>1.7
pymongo>=3.4
MySQL-python>=1.2
迁移文件似乎有 MongoDB 语法,而不是 SQL 语法,这让我觉得它实际上存储在 MongoDB 中:
class Migration(migrations.Migration):
dependencies = [
]
operations = [
migrations.CreateModel(
name='Book',
fields=[
('number', models.IntegerField(serialize=False, primary_key=True)),
('author', models.CharField(max_length=200)),
],
),
]