在django中动态地向表中添加字段

时间:2017-12-25 19:03:15

标签: mysql django database database-design django-models

在阅读了数据库设计之后,我决定为所有用户使用单个表。

  • 我的问题是我如何为新用户创建字段以将其数据添加到其中?
  • 还有什么方法可以检索特定于每个用户的数据?

我很欣赏有关此主题的任何建议。

1 个答案:

答案 0 :(得分:1)

由于你正在使用Django,我建议你阅读Django文档和/或他们的入门教程 - 他们很容易在他们的网站上关注指南。他们的指南的第2部分可能是你正在寻找的(https://docs.djangoproject.com/en/2.0/intro/tutorial02/),但我会从第1部分(https://docs.djangoproject.com/en/2.0/intro/tutorial01/)开始阅读 - 它们不是很冗长。

Django提供与其他ORM框架类似的ORM功能。 因此,为了自动生成表,您需要首先在Django文件中定义直接映射到MySQL数据库中的表的“模型”。在您的情况下,您将定义一个名为“users”的模型。

定义模型后,可以使用python CLI“makemigrations”命令自动为用户模型生成相关的迁移文件。迁移是帮助Django在数据库中创建关联表的中间文件。

至于从数据库中检索数据(特定于每个用户),您必须在Django中编写一组端点,这些端点将自动在您的数据库上运行相应的SQL命令并返回找到的数据。例如,您可能有一个名为 getAllUsers 的端点,它将映射到python(Django)函数,该函数将从users表中检索所有用户数据并将其返回。

Django文档解释了如何对您的数据库进行查询。查看此页面:https://docs.djangoproject.com/en/2.0/topics/db/queries/

希望这会帮助你!