Django Wagtail无需新模型即可动态创建表单

flseospp  于 2023-01-21  发布在  Go
关注(0)|答案(2)|浏览(153)

我如何允许我的主要用户动态创建他们可以向其最终客户发布的表单。我的每个主要用户都有他们自己想要收集的唯一信息,而我事先并不知道这些信息。我希望避免为他们的动态需求在代码中创建新模型,然后不得不迁移这些模型。
我遇到了this,它有一个有趣的response,但它以免责声明开头
Python和Django的灵活性允许开发者使用Django的ORM动态创建模型来存储和访问数据。但是如果你走这条路,你需要小心,特别是如果你的模型在运行时被设置为更改。本文档将涵盖使用运行时动态模型时需要考虑的一些事情。
这让我相信很多事情都可能出错。
然而,因为我使用的是wagtail,所以我相信可能有一种方法可以使用StructBlocks & StreamFields来实现它。
任何指导都将是有益的。

qnyhuwrf

qnyhuwrf1#

Wagtail为此提供了一个form builder模块。

knsnq2tg

knsnq2tg2#

我有两个可能的解决方案,尽管应该说Django可能有一些库,我不知道它是做这个的,但话虽如此。
1.提示用户所需的字段和字段类型。
1.将其作为字典传递给某个函数,该函数将生成表单的HTML代码。
1.当使用这种形式时,不必担心单独存储字段,而是在模型中存储一个字典。
另一种方法是使用MongoDB作为Django的数据库,虽然更复杂,但更适合您的需要。因为它是非结构化的,所以可能更适合您的用例。关于使用MongoDB for Django的说明在这里

相关问题