Dumpdata与非托管模型

mar*_*er_ 7 sqlite django dumpdata

我正在尝试将我的数据库(sqlite3)转储到一个夹具的json文件,但是我有一个非托管模型导致no such table错误(显然!)所以你如何在db中使用这些模型dumpdata?

模型:

from django.db import models


class Backup(models.Model):
    """
    This class is lazily recycled between various forms that ask the user to
    provide a path to some data.
    """

    dbloc = models.CharField(
        max_length = 255
    )

    class Meta:
        app_label = 'myApp'
        db_table = 'backup'
        managed = False
Run Code Online (Sandbox Code Playgroud)

错误:

CommandError: Unable to serialize database: no such table: backup

ale*_*cxe 10

只需使用--exclude选项排除此模型.从文档引用:

可以提供--exclude选项以防止转储特定的应用程序或模型(以appname.ModelName的形式指定).如果为dumpdata指定模型名称,则转储的输出将限制为该模型,而不是整个应用程序.您还可以混合应用程序名称和型号名称.

./manage.py dumpdata myApp --exclude=myApp.Backup
Run Code Online (Sandbox Code Playgroud)

  • 你知道为什么 django 不会自动从 dumpdata 中排除非托管模型吗? (2认同)