Django1.11.1上有多个数据库的“没有这样的表”

2024-09-29 21:21:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用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中添加了一个路由器:

^{pr2}$

我在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'
...

我做错什么了?在


Tags: djangofrompyimport数据库dbdatesettings

热门问题