Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 覆盖现有的django管理命令_Python_Django - Fatal编程技术网

Python 覆盖现有的django管理命令

Python 覆盖现有的django管理命令,python,django,Python,Django,除了编写定制的django管理命令外,我还希望能够覆盖现有的命令,如manage.py loaddata(fixture),以便在将fixture加载到我的数据库之后添加一些进一步的处理 我想我必须编写一个自定义命令,首先调用'loaddata',然后进行自己的处理。有没有一种简洁的方法可以做到这一点 有更好的解决方案吗?多亏了Moses链接到其他答案,所以我最终设法编写了一个模板,用于对loaddata命令进行额外处理。下面是一个片段,它起到了关键作用: """ Additional trea

除了编写定制的django管理命令外,我还希望能够覆盖现有的命令,如
manage.py loaddata(fixture)
,以便在将fixture加载到我的数据库之后添加一些进一步的处理

我想我必须编写一个自定义命令,首先调用'loaddata',然后进行自己的处理。有没有一种简洁的方法可以做到这一点


有更好的解决方案吗?

多亏了Moses链接到其他答案,所以我最终设法编写了一个模板,用于对
loaddata
命令进行额外处理。下面是一个片段,它起到了关键作用:

"""
Additional treatment for the loaddata command.
Location example: project/app/management/commands/loaddata.py
"""
from django.core.management.base import BaseCommand, CommandError
from django.core.management.commands import loaddata


class Command(loaddata.Command):

    def handle(self, *args, **options):
        super(Command, self).handle(*args, **options)
        self.stdout.write("Here is a further treatment! :)")

别忘了在INSTALLED_APPS(已安装的应用程序)配置中将您的应用程序放在顶部查看并编辑:由于超级调用,先前的代码无法工作,并且INSTALLED_APPS(已安装的应用程序)顺序为mentioned@Qsebas它实际上是在Python3上工作的。我的错。