Django将ImageFiles从一个应用程序迁移到另一个应用程序

时间:2017-07-06 03:07:09

标签: python django heroku

我在heroku上有两个django应用,app_Bapp_A部分的副本。
app_A的模型包含ImageField

image = models.ImageField(null=True, upload_to=get_image_uri)

我想将这些对象复制到app_B 我要复制的模型看起来完全一样。图像存储在Amazon AWS中。

django命令dumpdata / loaddata给了我FK错误..
但是,我可以尝试解决这些FK错误,但我不确定loaddata是否可以自己复制图像,或者我错过了什么?
还有其他办法吗?

1 个答案:

答案 0 :(得分:1)

您可以执行raw SQL query

ModelB.objects.raw(
    '''
    INSERT INTO appb_modelb (image)
    SELECT image FROM appa_modela
    '''
)

以上假设您的表位于同一个数据库中,并且您的appb_modelb表在复制时为空。

如果需要增加,可以通过这种方式实现更复杂的SQL查询,例如copy a column to a table from a different database

你必须小心。仔细阅读the docs,特别是那里的警告!

祝你好运:)