def save_model(self, request, obj, form, change): super(ProductRuleAdmin, self).save_model(request, obj, form, change) if not obj.id: return for method in METHODS: rule_manager = CRuleMethodManager(obj, method) if form.cleaned_data.get('request_'+method) is True: rule_manager.create_rule_method_if_not_exist() else: rule_manager.delete_rule_method_if_exist() match_manager = CRuleMatchManager(obj, form) match_manager.create_matchs()