【问题标题】:Best way of giving user's the ability to create their own datastores?让用户能够创建自己的数据存储的最佳方式?
【发布时间】:2016-10-09 01:23:49
【问题描述】:

我希望我网站的用户能够将信息上传到数据库中。我知道 Django 并不允许我让用户拥有自己的动态创建的表。所以我想知道处理这个问题的最有效方法是什么。

例如,如果所有用户都想保​​存包含姓名、电子邮件、号码等的邮件列表,我是否将所有这些都放入一个包含用户 ID 列的巨大表格中,还是有更聪明的方法来做到这一点?

基本功能将允许用户以受限格式从 CSV 上传数据。即电子邮件,名称将被放入这样的表格中:


用户 |电子邮件 |名称

但是,我想进一步改进这一点,以便用户可以指定自己的字段。即添加电话号码、地址或他们想要的任何其他信息。也许还可以在类似于以下的模型下添加自己的字段标题。


用户 |字段1 |字段2 |字段3 |字段4

【问题讨论】:

  • 这个问题太模糊了。请编辑您的问题,并提供有关您要执行的操作的更多详细信息。

标签: django django-models


【解决方案1】:

您不需要为每个用户创建一个新表。您将完全按照您所说的做,有一个单独的邮件列表表,并使用关联的用户 ID 存储每条记录。然后,当用户想要查看他们的列表时,您可以按用户 ID 过滤该表。同样,如果用户想要修改邮件列表,您需要确保该用户与他们尝试修改的记录具有相同的 ID。

Django 已经有一个非常强大的user authentication and permissions 系统。您应该使用它来确保只有登录的用户才能访问他们的记录。

我建议您花点时间仔细准备Django documentation 并按照第一步教程进行操作。它们将使您更好地了解如何设置模型和实施身份验证。

【讨论】:

    猜你喜欢
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多