1

我有一个带有文本字段的 Django 模型。我想在将文本字段的内容呈现给 Django Admin 中的用户之前对其进行修改。

我期待看到与post_load等效的信号,但它似乎不存在。

更具体:

我有一个接受用户输入的文本字段。在此文本字段中有一个阅读更多分隔符。分隔符之前的文本将进入 introtext 字段,之后的所有内容都将进入全文字段。

同时,我只想在用户编辑文章时显示 1 个文本字段。

我的计划是 on_load 从 introtext 和 fulltext 字段中读取数据并将它们组合成全文 textarea。在 pre_save 上,我将使用 read more 分隔符拆分文本,并将 intro 存储在 introtext 中,将其余部分存储在全文中。

因此,在显示表单之前,我需要填充全文字段

introtext + '<!--readmore-->' + fulltext

我需要能够对现有项目执行此操作。

4

2 回答 2

2

查看为管理页面提供您自己的表单

一旦你有了自己的表单,你就可以使用表单中的默认参数来提供你想要的初始值。有关表单字段,请参阅Initial param上的文档。正如此链接将向您展示的那样,可以使用可调用或常量作为初始值。

于 2009-10-04T23:26:04.367 回答
1

没有 post_load 因为没有加载函数。

实例的加载是在init函数中完成的,因此正确的答案是使用 post_init 信号。

于 2009-10-05T04:43:52.093 回答