def save_model(self, request, obj, form, change): obj.save() # User save userExtended = UserExtended(obj.id) for userMetaType in UserMetaType.objects.all(): if userMetaType.key in request.POST and request.POST[userMetaType.key] != '': if userMetaType.multiple: setattr(userExtended, userMetaType.key, request.POST.getlist(userMetaType.key)) else: setattr(userExtended, userMetaType.key, request.POST[userMetaType.key]) userExtended.save() else: userExtended.delMeta(userMetaType.key)
class UserAdminForm(forms.ModelForm): userExtended = None class Meta: model = User def __init__(self, *args, **kwargs): # * - tuple, ** - dictionary super(UserAdminForm, self).__init__(*args, **kwargs) # Set the form fields based on the model object if kwargs.has_key('instance'): instance = kwargs['instance'] # User instance self.userExtended = UserExtended(kwargs['instance'].id) def getAdditionalFieldsets(self): if self.userExtended != None: meta_types = getMetaTypes() user_meta_types = self.userExtended.getAttributes() result = {} for key in meta_types: if key in user_meta_types: result[key] = user_meta_types[key] else: result[key] = meta_types[key] return result else: return getMetaTypes()
def __init__(self, *args, **kwargs): # * - tuple, ** - dictionary super(UserAdminForm, self).__init__(*args, **kwargs) # Set the form fields based on the model object if kwargs.has_key('instance'): instance = kwargs['instance'] # User instance self.userExtended = UserExtended(kwargs['instance'].id)