Django 从管理站点创建另一个对象时,如何动态创建身份验证组? 我有一个模型,可以创建某种对象(比如说课程) 我从管理前端添加新对象

Django 从管理站点创建另一个对象时,如何动态创建身份验证组? 我有一个模型,可以创建某种对象(比如说课程) 我从管理前端添加新对象,django,object-model,Django,Object Model,创建对象时,我希望自动创建具有特定名称的身份验证组(不重要,但组的名称必须与创建的对象字段相同) 可能吗?我读过一些关于管理操作的内容,但没有发现任何清晰的内容。您可以通过执行以下操作轻松创建一个组: from django.contrib.auth.models import Group newgroup = Group.objects.create(name=course.name) 您可以将此代码放入模型中(或者创建一个): 然后,您可以创建您的课程: course = Course.

创建对象时,我希望自动创建具有特定名称的身份验证组(不重要,但组的名称必须与创建的对象字段相同)


可能吗?我读过一些关于管理操作的内容,但没有发现任何清晰的内容。

您可以通过执行以下操作轻松创建一个组:

from django.contrib.auth.models import Group

newgroup = Group.objects.create(name=course.name)
您可以将此代码放入模型中(或者创建一个):

然后,您可以创建您的课程:

course = Course.create(name="Django: The Web framework for perfectionists with deadlines")

丹尼尔,这似乎是一个很好的近似值。我已经管理了一个解决方案,并在admin.py中覆盖了模型CourseAdmin的save_model方法。非常感谢,您的实现看起来更干净

以下是我所做的:

-----管理员-----


丹尼尔,看起来不错!我已经在admin.py:mmm中重写了save_模型方法解决了这个问题。我不确定我是否可以在管理前端实现这一点。。。单击save方法时如何调用create方法?Daniel这似乎是一个很好的近似方法。我已经管理了一个解决方案,并在admin.py中覆盖了模型CourseAdmin的save_model方法。非常感谢,您的实现看起来更干净!(5年后,我发布了我的解决方案!!…新的解决方案!)
course = Course.create(name="Django: The Web framework for perfectionists with deadlines")
from django.contrib.auth.models import Group

class CourseAdmin(admin.ModelAdmin):
    def save_model(self, request, obj, form, change):
        g = Group(name=obj.code)
        g.save()
        obj.save() # Without this line the object is not saved into the Course model!

admin.site.register(CourseAdmin)