2

我是 Django plotform 的新手。我正在尝试编写一个基本上接受 post 方法的程序。传入数据的内容是storename, bookname, bookserial。该部分已经实施并且运行良好。当我发布诸如storename=John's shopping center, bookname=Love is beatiful, bookserial=123. 它创建一个表并将这些东西保存到一个表中。但是,问题是我不仅要为每个商店创建一个表。因为,我可以有多个storename,每个商店都应该有自己的桌子。当我storename即时发布时,它应该检查storename,然后如果它的表已经创建,bookname并且bookserial应该插入它的表。如果没有,则应创建一个新表,然后将传入的数据插入新表。新的表名应该是storename以及。所以,正如我所说,我只需要学习如何在运行中创建新表。你能帮我怎么做吗,任何意见和想法表示赞赏....

一个清楚的例子,

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

因此,每个购物中心的模型都是相同的,但每个 sopping center 是一个带有购物中心名称的不同表。

4

1 回答 1

1

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

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

有关详细信息,请参阅此问答:Django 动态模型字段

动态创建具体表格的唯一方法是让 django 应用程序完全重新启动以作为响应。

于 2012-08-14T05:44:39.263 回答