前缀所有表名Django 1.11

问题描述 投票:2回答:1

我有一个不能使用多个模式的数据库,因为它上面有一些遗留软件,它需要与新的Django应用程序共享空间。 Django的内置表名称与一些现有表名冲突,因此我想为所有表名添加前缀。

我找到了各种stackoverflow帖子,如How to rename all django's default auth, permission,groups tables? Django Database Prefix,他们提到了一些插件,如https://github.com/benslavin/django-db-prefixhttps://pypi.python.org/pypi/django-table-prefix/0.0.5 - 但所有这些都是古老的,并且不能从Django 1.8开始工作(我正在运行1.11)

Django 1.11有什么解决方案吗?我到处寻找,但现有的插件不起作用,提交给Django本身的每个功能请求都已关闭为wontfix。我尝试将插件更新到1.11,但他们老实说是我的头脑。

具体来说,我想为所有表添加前缀 - 不仅仅是我特定项目中的表 - 包括Django的内置表。所以我希望“DJANGO_AUTH”成为“PREFIX_DJANGO_AUTH”。

如果重要,数据库就是Oracle。

django oracle django-1.11
1个回答
0
投票

您应该能够使用模型中的Meta类选择所需的表名。

https://docs.djangoproject.com/en/2.0/ref/models/options/#db-table

class MyModel(models.Model)

    class Meta:
        db_table = 'yourtablename'

否则,默认是将app_name连接到类名以创建teh tablename。

© www.soinside.com 2019 - 2024. All rights reserved.