首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态创建新表

动态创建新表
EN

Stack Overflow用户
提问于 2012-08-14 12:00:06
回答 1查看 1.9K关注 0票数 2

我是Django plotform的新手。我正在试着写一个基本上接受post方法的程序。传入数据的内容为storename, bookname, bookserial。这部分已经实现,并且运行良好。当我发布诸如storename=John's shopping center, bookname=Love is beatiful, bookserial=123之类的内容时。它创建一个表,并将这些内容保存到一个表中。但是,问题是我不想为每个商店只创建一个表。因为,我可以有多个storename,每个商店都应该有自己的表。当我动态发布storename时,它应该检查storename,然后如果它的表已经创建,那么booknamebookserial应该插入它的表。如果没有,则应该创建一个新表,然后将传入的数据插入到新表中。新的表名应该是storename as well.So,正如我所说的,我只需要学习如何动态创建新的表。您能帮助我如何做到这一点,任何意见和想法是感激的.

举个例子来说明一下,

代码语言:javascript
复制
Table-1=John's shopping center
    bookname=Love is beatiful
    bookserial=123

  Table-2= John's shopping center-2
     bookname=Time is important
     bookserial=456

因此,每个购物中心的模型是相同的,但每个购物中心是一个不同的表,并以购物中心的名称命名。

EN

回答 1

Stack Overflow用户

发布于 2012-08-14 13:44:39

在传统意义上,在django中动态创建具体的表是不可能的。必须将模型注册为应用程序启动的一部分,以便ORM可以正确地管理所有关系。考虑如果您定义了一个新模型来设置对其他模型的约束或后向参照,会发生什么情况。那些其他的模型,是类,已经设置好了,并且在内存中。他们不能再通过元类步骤来连接新的关系。你很容易就把东西弄坏了。

您的选择仅限于包含几个可以动态描述不同实体的表的解决方案,或者使用不关心模式并允许您随时存储任何内容的nosql后端。

有关详细信息,请参阅以下问题和答案:Django dynamic model fields

拥有一个具体的表的唯一方法是让django应用程序完全重启以响应。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11945601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档