使用Django

时间:2018-08-09 07:56:41

标签: django python-3.x api django-rest-framework

我是Django的新手,

有两个数据库,

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'global_db',
        'USER': 'root',
        'PASSWORD': 'abc123',
        'HOST': '127.0.0.1',
        'PORT': ''
    },
    'usersdb': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'users',
        'USER': 'root',
        'PASSWORD': 'abc123',
        'HOST': '127.0.0.1',
        'PORT': ''
    }
}

分别创建所需的模型和序列化器。在views.py类中设置所需的视图。

我遇到以下错误

1146, "Table 'global_db.account_categories' doesn't exist"

该表实际上存在于我的辅助数据库“用户”中,任何人都可以帮我解决我做错的事情。

models.py

class AccountCategories(models.Model):
    company_id = models.IntegerField()
    category_type = models.IntegerField()
    category_name = models.CharField(max_length=200)
    status = models.IntegerField()
    created_by = models.IntegerField()
    modified_by = models.IntegerField()
    created = models.DateTimeField()
    modified = models.DateTimeField()

    class Meta:
        managed = False
        db_table = 'account_categories'

谢谢。

2 个答案:

答案 0 :(得分:0)

在迁移时,如果您使用2个数据库,则应始终指定要迁移的数据库

否则将仅迁移默认的

<!-- own css location -->
<link rel="stylesheet" href="/css/login.css">
<!-- own javascript location -->
<script type="text/javascript" src="/js/login.js"></script>

答案 1 :(得分:0)

好的,我刚刚看到了您的class Meta

您已设置managed = False,因此在迁移过程中未创建表是合乎逻辑的:see the docs about it

尝试删除此行,然后再次执行迁移过程。