从Django中的数据库导出对象及其相关对象

时间:2019-02-04 07:13:43

标签: python django model

从数据库中导出具有所有关系的对象的最快方法是什么?我想将其用作测试的固定装置。现在,我分别为每个模型调用manage.py dumpdata <my_app>.<my_model> --pks <pks>,但这需要很多时间。有没有更聪明的方式来完成这项任务?

让我们说我们有这样的模型层次结构:

class Customer(models.Model):
    first_name = models.CharField(max_length=255)
    last_name = models.CharField(max_length=255)

class Car(models.Model):
    name = models.CharField(max_length=255)
    owner = models.ForeignKey('Customer', on_delete=models.PROTECT)

class PartsToOrder(models.Model):
    type = modles.CharField(max_length=255)
    car = models.ForeignKey('Car', on_delete=models.PROTECT)

如何将带有id = 3528的汽车对象(包括要订购的所有零件及其所有者)导出到一个夹具文件中。

1 个答案:

答案 0 :(得分:1)

为什么不仅仅创建一个自定义管理命令,该命令在for循环中运行上述命令。该for循环将迭代应用程序/模型组合的列表。您可以从那里扩展它。这将使过程自动化。

https://simpleisbetterthancomplex.com/tutorial/2018/08/27/how-to-create-custom-django-management-commands.html