在Django中创建和管理复杂数据模型的正确技术是什么?

时间:2016-01-21 20:04:51

标签: django django-models

我有一个关系数据库背景,知道一点Python,并且是一个完整的Django新手/想要。我一直在考虑在Django做一些项目。然而,我注意到的一件事是,在Django中,您使用代码而不是ER建模工具(如ERwin或Embarcadero)创建数据模型。

我的问题是:

是否可以将复杂数据模型(已填充或未填充)导入Django并使用ER图进行可视化?

谢谢!

2 个答案:

答案 0 :(得分:2)

Django最有价值的功能之一是它的ORM和一些manage.py命令来帮助解开复杂的数据模型。如果您尚未探索django_extensions,我认为它符合您的要求:manage.py graph_models为您提供模型的可自定义ER图。我经常在处理大型数据库时使用它。我经常需要导入一个大型数据库模型(来自现有的一组数据库),并使用django内置manage.py inspectdb > models.py生成几乎所有的数据库模型。使用graph_models,您可以尝试各种布局和各种细节,以帮助您查看“全局”。即使最终目标不是构建Django webapp,我发现这些工具有助于快速理解数据库模型,尤其是当您无法访问原始数据库创建者或他们的推理时。

答案 1 :(得分:0)

实际上,Django使用ORM(对象关系映射)实际上比它看起来更简单。我建议(问题2)是在ER图中构建它然后创建与实体关联的代码,例如:

(SQL Looking One) 人 - Name VARCHAR(50), - ID INTEGER PRIMARY KEY

(Python代码)

class Person:
    Name = models.CharField(max_length = 50, default = 'Neo')
    # Also best part is, you ID is already made

这是一个简单的例子,我建议查看Django Docs for Models以获得更多信息。此链接可能有所帮助:

https://docs.djangoproject.com/en/1.9/ref/models/fields/