首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django -在写入数据库之前,在哪里存储临时/预览模型?

Django -在写入数据库之前,在哪里存储临时/预览模型?
EN

Stack Overflow用户
提问于 2011-06-27 14:48:18
回答 1查看 1.3K关注 0票数 0

我们有一个要导入到Django应用程序中的CSV文件,然后创建适当的模型和关系。

在第一页,我们有一个文件上传表单,用户可以在其中选择一个文件。

然后,我们解析文件,并返回第二个页面,显示将创建的内容、任何验证错误等。

然后,用户可以决定是否继续(或可能更正屏幕上的任何区域)。

在临时模型真正到达数据库之前,存储临时临时模型的最佳方式是什么?

CSV文件将相当大,可能在200KB左右,并创建数百个模型。

我是否应该将其存储在数据库中的某个位置,并将这些模型标记为“临时”?这看起来有点沉重,只是为了确认,而且我不确定这是否是数据库的适当使用。或者,有没有什么方法可以将它存储在Django会话中?或任何其他方法来做吗?

我之前在django-users上提到过这一点,他们建议使用单独的DB,或者将其存储在MongoDB中。不过,我不太确定以这种方式将Django模型持久化到MongoDB的最好方法。

他们还提到,我可能需要使用ZeroMQ或django-celery来异步处理导入过程,以防web服务器在导入过程中超时。

不管怎么说,我想我也会在SO社区中寻找,因为有很多聪明的Django人也潜伏在这里=)。

干杯,维克多

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-27 15:57:43

如果这个csv导入过程将是通用的和永久的(即许多用户使用,并且在短时间内不受限制),我更喜欢将逻辑合并到模型中:我会修改模型,使其具有一个指示实例处于活动或挂起状态的标志(您也可以添加deleted )。这可以由多个经理来补充。默认管理器可被修改为仅过滤活动对象,而第二管理器可仅获取未决对象。可以编写一个作业来处理挂起了很长时间的对象。

否则(如果这是临时情况),您可以选择您喜欢的任何媒介来持久化挂起的对象。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6489458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档