【问题标题】:How do i inspect all tables in databes mssql by Django inspect我如何通过 Django 检查检查数据库 mysql 中的所有表
【发布时间】:2021-12-07 13:04:40
【问题描述】:

我有几个表的 mssql 数据库:

[dbo].[one_table]
[dbo].[two_table]
[model].[three_table]
[model].[four_table]
[plan].[five_table]

我的 django settings.py:

DATABASES = {
    'default': {
        "ENGINE": "mssql",
        "NAME": "ips_db",
        "USER": "sa",
        "PASSWORD": "***",
        "HOST": "***",
        "PORT": "1433",
        "OPTIONS": {
            "driver": "ODBC Driver 17 for SQL Server",
        },
    },
}

当我尝试检查数据库时

python inspectdb > models.py

我只得到one_tabletwo_table

class One_table(models.Model):
    firstname = models.CharField(db_column='FirstName', max_length=30, db_collation='SQL_Latin1_General_CP1_CI_AS')  # Field name made lowercase.
    lastname = models.CharField(db_column='LastName', max_length=40, db_collation='SQL_Latin1_General_CP1_CI_AS')  # Field name made lowercase.

    class Meta:
        managed = False
        db_table = 'One_table'


class Two_table(models.Model):
    test = models.CharField(db_column='Test', max_length=10, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True)  # Field name made lowercase.
    tes2 = models.CharField(db_column='Tes2', max_length=10, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True)  # Field name made lowercase.

    class Meta:
        managed = False
        db_table = 'Two_table'

如何从我的数据库中获取所有表模型???

【问题讨论】:

标签: sql-server django inspect


【解决方案1】:

我没有这个问题。只需用逗号分隔写每个表

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

我正在查看 mssql\introspection.py。 有 Databaseintrospection.get_table_list()。该方法中的sql查询是

sql = 'SELECT TABLE_NAME, TABLE_TYPE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ' + "'" + get_schema_name() + "'"

我看着get_schema_name() 和... 那是

def get_schema_name():
    return getattr(settings, 'SCHEMA_TO_INSPECT', 'dbo')

因为我只是删除 WHERE TABLE_SCHEMA" 并获取我所有的表。 这看起来很奇怪。我无法选择架构。

【讨论】:

    猜你喜欢
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多