Django表命名约定.我可以改变它的行为吗?

pat*_*fla 6 django django-models

当Django创建表时,它会为它们提供表单app_class的名称.我正在将一个不同的(但内容基本相似)数据库改造成Django安装.我的表名称不以app_为前缀.

我可以相应地重新创建我的数据库及其表,但我想看看Django是否可以灵活地修改它如何处理表名.

也就是说,我有一个表coi_fs - 我想看看我是否可以更改Django安装,以便它不会引用app_coi_fs而只是引用coi_fs?

Vic*_*ral 5

如果您已有数据库,我建议使用数据库内省选项.这将创建按原样使用当前数据库所需的模型.

$ django-admin.py inspectdb > models.py
Run Code Online (Sandbox Code Playgroud)

要回答您的原始问题,可以从文档(https://docs.djangoproject.com/en/dev/ref/models/options/#table-names)中使用db_table元属性.

models.py

class DjangoSite(models.Model):
    domain = models.CharField(max_length=100)
    name = models.CharField(max_length=50)
    class Meta:
        db_table = u'site'
Run Code Online (Sandbox Code Playgroud)