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 admin中,如何以编程方式创建具有模型权限的组?_Python_Django_Python 3.x_Django Models_Django Admin - Fatal编程技术网

Python 在Django admin中,如何以编程方式创建具有模型权限的组?

Python 在Django admin中,如何以编程方式创建具有模型权限的组?,python,django,python-3.x,django-models,django-admin,Python,Django,Python 3.x,Django Models,Django Admin,我想创建两个组“驱动程序”和“管理员”。 每个组都应具有模型的遵从权限 “管理员”“能够添加、删除和查看某些型号 “驱动程序”“只需添加和查看某些型号即可 实现这一点的最佳方法是什么?这取决于项目中导致创建这些组的操作。我可以猜测,在部署项目时,您希望创建这些组一次,而无需进入管理面板并手动创建组。如果是这样,我建议您尝试RunPythonit迁移: 此外,您还需要使用model组: 迁移的一个简单示例如下所示: from django.db import migrations def fo

我想创建两个组“驱动程序”和“管理员”。 每个组都应具有模型的遵从权限

管理员”“能够添加、删除和查看某些型号

驱动程序”“只需添加和查看某些型号即可


实现这一点的最佳方法是什么?

这取决于项目中导致创建这些组的操作。我可以猜测,在部署项目时,您希望创建这些组一次,而无需进入管理面板并手动创建组。如果是这样,我建议您尝试
RunPython
it迁移:

此外,您还需要使用model

迁移的一个简单示例如下所示:

from django.db import migrations


def forwards_func(apps, schema_editor):
    Group = apps.get_model("django.contrib.auth", "Group")
    # Create the groups you need here...


def reverse_func(apps, schema_editor):
    Group = apps.get_model("django.contrib.auth", "Group")
    # Delete the groups you need here...


class Migration(migrations.Migration):

    dependencies = []

    operations = [
        migrations.RunPython(forwards_func, reverse_func),
    ]
可以通过以下命令创建新的空迁移:

python manage.py makemigrations myapp --empty