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)