我希望我的网站用户能够将信息上传到数据库中。我知道Django并不真正允许我让用户拥有自己动态创建的表。所以我想知道处理这个问题的最有效方法是什么。
例如,如果所有用户都希望保存包含姓名,电子邮件,电子邮件等的邮件列表,我是否会将所有这些内容放入一个包含用户ID列的巨型表中,或者是否有更智能的方法来执行此操作?
基本功能允许用户以受限格式上传CSV中的数据。即电子邮件,名称将被放入如下表格中:
但是,我想进一步改进这一点,以便用户可以指定自己的字段。即添加电话号码,地址或他们想要的任何其他信息。也许还能够在类似于以下的模型下添加自己的字段标题。
答案 0 :(得分:1)
您不需要为每个用户创建新表。您可以完全按照您的说法操作,拥有一个邮件列表表,并使用关联的用户ID存储每条记录。然后,当用户想要查看其列表时,您可以按用户ID过滤该表。同样,如果用户想要修改邮件列表,您可以确保该用户与他们尝试修改的记录具有相同的ID。
Django已经拥有一个非常强大的user authentication and permissions系统。您应该使用它来确保只有登录的用户才能访问他们的记录。
我建议您花些时间仔细准备Django documentation并按照第一步教程进行操作。他们会让您更好地了解如何设置模型和实施身份验证。