如何从数据库模式自动生成示例 Django 应用程序?

How to auto-generate a sample Django application from a database schema?

我正在评估概念验证应用程序的框架。此应用程序的生命周期约为 30 天,之后将被遗忘或完全重写。我已经确定我想从现有的数据库模式自动生成一个示例应用程序,然后只调整视觉设计的某些方面。我在 Rails 的 Ruby 上看过一个演示:它为每个 table 自动生成一个简单的视图和数据输入表单在数据库中,内置分页等。我也已经确定我需要为这个项目使用 Python,而不是 Ruby。

所以我想到了这个问题:

Python on Rails?

那里的答案让我参考了 Django

所以这个问题。我如何使用 Django 从数据库模式自动生成一个简单的 CRUD 应用程序,类似于在 RoR 上可以完成的操作?

到目前为止我尝试过的:

  • Google 搜索 "generate django app from db schema"
  • 查看了所有 中引用的文档 How to create a sample django project?
  • https://github.com/audreyr/cookiecutter
  • 查看了可用的 cookiecutters 列表

使用 Django 的 inspectdb 生成模型,然后使用 Django Admin 生成 enter/manage 数据。

您首先 create a Django project and run inspectdb to create the models. You would then create an app within the project, and move the models file you created over to replace the default models.py file in the app. Ensure the Django admin is enabled. Then, within the app, you would add to the default admin.py 将模型归档以包含在管理员中。对于要输入数据的每个模型,只需在 admin.py 中包含 admin.site.register(ModelName) 即可快速查看管理员。要定制模型的显示方式,您只需创建一个 class YourModelAdmin(admin.ModelAdmin) 并定义您希望特定模型的显示方式。

设置一个基本的管理站点实际上非常快,这也是 Django 的强项之一。

正如 Dan 所指出的,我们可以使用 inspectdb 来生成模型文件,一旦我们有了 models.py 文件,我们就可以将其集成到 admin.py 手册中,或者可以通过添加所有他们;我们需要更新 urls.py 以包含管理员生成的视图。

除非我们有一些自定义视图,否则这不会很有用,您可以在模型中添加数据并在管理面板中查看它们。管理视图也支持分页。管理视图中有更多功能,类似于传统的 python class 添加了方法和字段。