У меня есть этот класс пользователей:Джанго не удалось добавить пользователя в группу
class Parent(User):
contact_means = models.IntegerField()
is_active = False
is_staff = False
is_superuser = False
#parent_id = models.AutoField()
class Meta:
db_table = 'parent'
При добавлении родителя в моей странице администратора, я хочу, чтобы автоматически добавить родителя в группу пользователей:
class ParentAdmin(admin.ModelAdmin):
def save_model(self,request,modelObj,modelFormIns, change):
if not change: #new entry
#save regular parent and user
parentGroup = Group.objects.get(pk=1)
modelObj.save()
modelObj.groups.add(parentGroup)
#parentGroup.save()
#save a record under django-registration
profile_callback = None
RegistrationProfile.objects.create_inactive_user_from_fk(user = modelObj,send_email = True)
else:
modelObj.save()
Это не работает! в группу не добавляется пользователь. Зачем?
Не используйте 'is' по сравнению с False. 'is' предназначен для сравнения идентичности, а не значения. Просто сделайте 'if not change' - или, если нужно,' if change == False'. –
@ Daniel, обновлено. Но то же самое, добавил родитель, но не пользователь в auth_user_group – goh
Хотя @Daniel прав в этом стилистике, вы не должны использовать 'is' там, он технически должен работать как« False »- это одноэлемент, поэтому все объекты, которые являются« False » 'на самом деле ссылаются на тот же самый« ложный »синглтон. –