我在使用django1.11.1时遇到了一个多数据库问题。在
我总是收到:
OperationalError at /admin/news/article/
no such table: news_article
当我点击管理页面上的“Artikel”时。在
我的项目包含两个数据库,一个用于收件人,一个用于RSS新闻提要。
我在settings.py
中这样定义它们:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, '..', 'cookbook.db'),
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
},
'news_db': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, '..', 'news.db'),
},
}
我还在routers.py
中添加了一个路由器:
我在settings.py
中这样设置:
DATABASE_ROUTERS = ['cookbook.routers.CookbookRouter']
我的新闻.model.py看起来像这样:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models
from basemodels import DateTimeInfo
# Create your models here.
class Article(DateTimeInfo):
headline = models.CharField(u'Überschrift', max_length=100)
body = models.TextField(u'Inhalt')
class Meta:
verbose_name = u'Artikel'
verbose_name_plural = u'Artikel'
ordering = ['-date_updated']
def __unicode__(self):
return self.headline
运行后
$python manage.py makemigration
$python manage.py migrate
好几次让舒尔知道如果我运行 $python管理.py检查数据库 输出:
...
class NewsArticle(models.Model):
id = models.IntegerField(primary_key=True) # AutoField?
date_created = models.DateTimeField()
date_updated = models.DateTimeField()
headline = models.CharField(max_length=100)
body = models.TextField()
class Meta:
managed = False
db_table = 'news_article'
...
我做错什么了?在
目前没有回答
相关问题 更多 >
编程相关推荐