如何将数据库中的Django模型实例“刺入”示例python代码,以用于加载示例数据?
我想要:
1)拍摄我已存储在Django项目的MySQL数据库中的几百条记录的快照
2)拍摄快照并修改其中的数据(删除名称)
3)将此数据转换为“pickle 字符串”或实际的python代码,我可以使用这些代码将数据加载到新的用户帐户中。
我要实现的主要功能是选择我当前的事件Django网站用户之一,将他们的一些数据复制并匿名化,然后将其作为网站的所有新用户的示例数据加载,以便他们可以使用这些数据来帮助学习系统。
最佳答案
一种简单的方法是将模型转换为字典。然后,您可以对其进行简单的 pickle ,然后重新充气以创建新的模型实例。
要将模型存储为字典,可以使用内置的Django函数:
from django.forms.models import model_to_dict
my_dict = model_to_dict(my_instance,fields=[],exclude=[])
将实例转换为字典并删除了必要的内容后,只需使用常规的
pickle.dumps
和pickle.loads
方法来存储和检索数据。要使用该字典创建新的模型实例,可以执行以下操作:my_instance = MyModel(**my_dict)
#add any customization for the new instance here
my_instance.save()
关于python - 如何将数据库中Django模型的 "pickle"实例转换为示例python代码,可用于加载示例数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9011474/