如何在Django中为现有数据库生成模型?

Ngu*_*ạnh 4 django django-models

我有一个现有的数据库,我想与Django一起使用.我可以根据现有表格创建模型吗?

rra*_*nza 10

这在Django网站上有记录:

https://docs.djangoproject.com/en/2.0/howto/legacy-databases/

$ python manage.py inspectdb


shr*_*tti 5

您可以使用inspectdb命令。

像这样

python manage.py inspectdb Table_Name --database =数据库名称> filename.py

例如:对于来自特定数据库的特定表()

python manage.py inspectdb Employee_table --database=db_for_employee > models_file.py
Run Code Online (Sandbox Code Playgroud)

此处db_for_employee存在于settings.py文件的数据库列表中。

对于默认数据库中的特定表:

python manage.py inspectdb Employee_table > models_file.py
Run Code Online (Sandbox Code Playgroud)

对于默认数据库中的所有表:

python manage.py inspectdb >models_file.py
Run Code Online (Sandbox Code Playgroud)

这将在您的项目级别创建一个名为models_file.py的文件,并将包含现有数据库的模型。

请注意,如果您未提及数据库名称,则将考虑设置中的默认数据库。

而且,如果您不提及表名,那么将考虑数据库中的所有表,并且可以在新的models.py文件中找到所有表的模型。

不用说,您还必须将应用程序级别的模型或创建的类复制到实际的models.py文件中。