Django Admin - 创建“临时”条目

Posted

技术标签:

【中文标题】Django Admin - 创建“临时”条目【英文标题】:Django Admin - Create 'temporary' entry 【发布时间】:2011-07-01 04:46:42 【问题描述】:

有没有办法让 Django 管理面板在您单击“添加”按钮时创建一个临时模型?

我希望能够将多个文件/媒体“附加”到特定模型条目,这将涉及在创建时上传文件。在模型有 pk 之前我无法执行此操作,因为显然我无法在上传的文件和条目之间创建链接。

我正在使用 Content-Type 框架在我上传的文件(包含在一个类中)之间创建附件

我注意到,例如,当您单击“新帖子”按钮解决问题时,Wordpress 会创建所谓的“自动草稿”。

【问题讨论】:

【参考方案1】:

如果我理解正确,您需要注意上传文件的文件名与使用文件字段的模型的 PK 相对应。

您无需在 django-admin 中更改任何内容,只需对您的模型进行一些调整:

首先,在您的文件字段中使用"upload_to"。我通常将文件名设置为 uuid4-value 以确保它是唯一的。

保存模型后,您可以根据需要重命名文件。最好的地方是由post-save-signal 触发的函数。但是,如果您只想确保文件名是唯一的,那么通过 uuid 生成文件名应该可以工作。

【讨论】:

感谢您的回复。不是我真正想要的,文件的文件名无关紧要,我想使用 GenericKey 和 ContentTypes 框架创建附件。我会更新我的帖子以使其更清晰。

以上是关于Django Admin - 创建“临时”条目的主要内容,如果未能解决你的问题,请参考以下文章

如何创建临时表而不丢失 django 中的 ORM?

django - 临时存储数字

如何在 Django Rest Framework 和 React 中使用简单的 JWT 创建临时链接

Django admin,多对多字段,多个重复条目

Django 会话表单(临时保存表单)

如何(临时)使用 natvis 对 CPtrList 条目进行类型转换?