我正在编写一个Django应用程序,它需要一个Script对象,该对象可以访问包含脚本和脚本全文的文件。脚本文件是一个xls文件,我从中提取数据或以编程方式向其中写入数据都没有问题(xlrd和朋友们都很棒!),我将其存储在models.FileField中。我想将全文存储在models.TextField中,但我的问题是我不知道如何正确地将工作流组合在一起,以便全文和存储的文件相互镜像。
我想要的工作流:
已创建脚本对象->;文件已上载到文件字段->;从保存到全文字段的文件中提取的文本
和
已编辑脚本全文->;在文件字段中写回文件的文本->;脚本已保存
和
脚本文件已替换为新文件->;从保存到全文字段的文件中提取的文本
I have been playing around with the signals framework (presave 和 postsave), but I don t know how to make it, er, save the changes that I am hoping for, since that would require calling save->generating an infinite loop. Also, presave seems to be invoked before the file is uploaded (using a form), which makes my server puke at me.
有什么想法吗?