Django选择性Dumpdata

Cer*_*rin 34 python django database-design django-models

是否有可能选择性地过滤Django的dumpdata管理命令输出的记录?我有几个模型,每个都有数百万行,我只想在一个符合特定条件的模型中转储记录,以及引用任何这些记录的所有外键链接记录.

考虑这个用例.假设我有一个生产数据库,其中我的用户模型有数百万条记录.我还有其他几个模型(日志,交易,购买,书签等)都引用了用户模型.我想在我的Django应用程序上进行开发,我想使用实际数据进行测试.但是,我的生产数据库是如此庞大,我无法实际拍摄整个事物的快照并在本地加载它.理想情况下,我想使用dumpdata将50个随机用户记录和所有相关记录转储到JSON,并使用它来填充开发数据库.

有没有一种简单的方法来实现这一目标?

ari*_*rie 19

我认为django-fixture-magic可能值得一看.

您将在Scrubbing Django数据库中找到一些其他背景信息.


小智 6

这段代码可能对您有所帮助(它遵循关系并将它们序列化):

http://djangosnippets.org/snippets/918/

您还可以使用该管理命令,并覆盖您希望返回自定义查询集的任何模型的默认管理器.