我有一个带文本字段的Django模型。我希望在将文本字段呈现给Django Admin中的用户之前修改它的内容。
我希望看到相当于 post_load 的信号,但它似乎不存在。
更具体一点:
我有一个文本字段,用于输入用户。在此文本字段中有一个读取更多分隔符。分隔符前的文本将进入introtext字段,进入全文字段后的所有内容。
同时,我只想在用户编辑文章时显示用户1文本字段。
我的计划是on_load从introtext和fulltext字段读取数据并将它们组合成全文textarea。在pre_save上,我会使用read more separator拆分文本,并在introtext中存储intro,在fulltext中存储余数。
因此,在显示表单之前,我需要使用
填充全文字段introtext + '<!--readmore-->' + fulltext
我需要能够为现有项目执行此操作。
答案 0 :(得分:2)
查看管理页面的Providing your own form。
拥有自己的表单后,可以使用表单中的默认参数来提供所需的初始值。有关表单字段,请参阅Initial param上的文档。正如此链接将向您显示的那样,可以使用callable或constant作为初始值。
答案 1 :(得分:1)
没有post_load,因为没有加载功能。
实例的加载是在 init 函数中完成的,因此正确的答案是使用post_init信号。