Python django.forms.ModelForm() Examples
The following are 30
code examples of django.forms.ModelForm().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
django.forms
, or try the search function
.
Example #1
Source File: detail.py From StormOnline with Apache License 2.0 | 7 votes |
def get_model_form(self, **kwargs): """ Returns a Form class for use in the admin add view. This is used by add_view and change_view. """ if self.exclude is None: exclude = [] else: exclude = list(self.exclude) if self.exclude is None and hasattr(self.form, '_meta') and self.form._meta.exclude: # Take the custom ModelForm's Meta.exclude into account only if the # ModelAdmin doesn't define its own. exclude.extend(self.form._meta.exclude) # if exclude is an empty list we pass None to be consistant with the # default on modelform_factory exclude = exclude or None defaults = { "form": self.form, "fields": self.fields and list(self.fields) or '__all__', "exclude": exclude, } defaults.update(kwargs) return modelform_factory(self.model, **defaults)
Example #2
Source File: detail.py From CTF_AWD_Platform with MIT License | 6 votes |
def get_model_form(self, **kwargs): """ Returns a Form class for use in the admin add view. This is used by add_view and change_view. """ if self.exclude is None: exclude = [] else: exclude = list(self.exclude) if self.exclude is None and hasattr(self.form, '_meta') and self.form._meta.exclude: # Take the custom ModelForm's Meta.exclude into account only if the # ModelAdmin doesn't define its own. exclude.extend(self.form._meta.exclude) # if exclude is an empty list we pass None to be consistant with the # default on modelform_factory exclude = exclude or None defaults = { "form": self.form, "fields": self.fields and list(self.fields) or '__all__', "exclude": exclude, } defaults.update(kwargs) return modelform_factory(self.model, **defaults)
Example #3
Source File: test_cms_plugins_organization.py From richie with MIT License | 6 votes |
def test_cms_plugins_organization_form_page_choices(self): """ The form to create a organization plugin should only list organization pages in the select box. There shouldn't be any duplicate because of published status. """ class OrganizationPluginModelForm(forms.ModelForm): """A form for testing the choices in the select box""" class Meta: model = OrganizationPluginModel fields = ["page"] organization = OrganizationFactory(should_publish=True) other_page_title = "other page" create_page( other_page_title, "richie/single_column.html", settings.LANGUAGE_CODE ) plugin_form = OrganizationPluginModelForm() rendered_form = plugin_form.as_table() self.assertEqual( rendered_form.count(organization.extended_object.get_title()), 1 ) self.assertNotIn(other_page_title, plugin_form.as_table())
Example #4
Source File: wizard.py From Mxonline3 with Apache License 2.0 | 6 votes |
def get_step_form(self, step=None): if step is None: step = self.steps.current attrs = self.get_form_list()[step] if type(attrs) in (list, tuple): return modelform_factory(self.model, form=forms.ModelForm, fields=attrs, formfield_callback=self.admin_view.formfield_for_dbfield) elif type(attrs) is dict: if attrs.get('fields', None): return modelform_factory(self.model, form=forms.ModelForm, fields=attrs['fields'], formfield_callback=self.admin_view.formfield_for_dbfield) if attrs.get('callback', None): callback = attrs['callback'] if callable(callback): return callback(self) elif hasattr(self.admin_view, str(callback)): return getattr(self.admin_view, str(callback))(self) elif issubclass(attrs, forms.BaseForm): return attrs return None
Example #5
Source File: test_cms_plugins_person.py From richie with MIT License | 6 votes |
def test_cms_plugins_person_form_page_choices(self): """ The form to create a person plugin should only list person pages in the select box. """ class PersonPluginModelForm(forms.ModelForm): """A form for testing the choices in the select box""" class Meta: model = PersonPluginModel fields = ["page"] person = PersonFactory() other_page_title = "other page" create_page( other_page_title, "richie/single_column.html", settings.LANGUAGE_CODE ) plugin_form = PersonPluginModelForm() self.assertIn(person.extended_object.get_title(), plugin_form.as_table()) self.assertNotIn(other_page_title, plugin_form.as_table())
Example #6
Source File: detail.py From Mxonline3 with Apache License 2.0 | 6 votes |
def get_model_form(self, **kwargs): """ Returns a Form class for use in the admin add view. This is used by add_view and change_view. """ if self.exclude is None: exclude = [] else: exclude = list(self.exclude) if self.exclude is None and hasattr(self.form, '_meta') and self.form._meta.exclude: # Take the custom ModelForm's Meta.exclude into account only if the # ModelAdmin doesn't define its own. exclude.extend(self.form._meta.exclude) # if exclude is an empty list we pass None to be consistant with the # default on modelform_factory exclude = exclude or None defaults = { "form": self.form, "fields": self.fields and list(self.fields) or '__all__', "exclude": exclude, } defaults.update(kwargs) return modelform_factory(self.model, **defaults)
Example #7
Source File: forms.py From FIR with GNU General Public License v3.0 | 6 votes |
def __init__(self, *args, **kwargs): self.user = kwargs.pop('for_user', None) permissions = kwargs.pop('permissions', None) has_permission = True if permissions is None: permissions = ['incidents.handle_incidents', ] has_permission = False super(ModelForm, self).__init__(*args, **kwargs) if self.user is not None: if not isinstance(permissions, (list, tuple)): permissions = [permissions, ] if 'instance' not in kwargs and not has_permission: permissions.append('incidents.report_events') self.fields['concerned_business_lines'].queryset = BusinessLine.authorization.for_user(self.user, permissions) self.fields['subject'].error_messages['required'] = 'This field is required.' self.fields['category'].error_messages['required'] = 'This field is required.' self.fields['concerned_business_lines'].error_messages['required'] = 'This field is required.' self.fields['detection'].error_messages['required'] = 'This field is required.' self.fields['severity'].error_messages['required'] = 'This field is required.' self.fields['is_major'].error_messages['required'] = 'This field is required.' self.fields['is_major'].label = 'Major?'
Example #8
Source File: forms.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def generic_inlineformset_factory(model, form=ModelForm, formset=BaseGenericInlineFormSet, ct_field="content_type", fk_field="object_id", fields=None, exclude=None, extra=3, can_order=False, can_delete=True, max_num=None, formfield_callback=None, validate_max=False, for_concrete_model=True, min_num=None, validate_min=False): """ Returns a ``GenericInlineFormSet`` for the given kwargs. You must provide ``ct_field`` and ``fk_field`` if they are different from the defaults ``content_type`` and ``object_id`` respectively. """ opts = model._meta # if there is no field called `ct_field` let the exception propagate ct_field = opts.get_field(ct_field) if not isinstance(ct_field, models.ForeignKey) or ct_field.rel.to != ContentType: raise Exception("fk_name '%s' is not a ForeignKey to ContentType" % ct_field) fk_field = opts.get_field(fk_field) # let the exception propagate if exclude is not None: exclude = list(exclude) exclude.extend([ct_field.name, fk_field.name]) else: exclude = [ct_field.name, fk_field.name] FormSet = modelformset_factory(model, form=form, formfield_callback=formfield_callback, formset=formset, extra=extra, can_delete=can_delete, can_order=can_order, fields=fields, exclude=exclude, max_num=max_num, validate_max=validate_max, min_num=min_num, validate_min=validate_min) FormSet.ct_field = ct_field FormSet.ct_fk_field = fk_field FormSet.for_concrete_model = for_concrete_model return FormSet
Example #9
Source File: detail.py From imoocc with GNU General Public License v2.0 | 6 votes |
def get_model_form(self, **kwargs): """ Returns a Form class for use in the admin add view. This is used by add_view and change_view. """ if self.exclude is None: exclude = [] else: exclude = list(self.exclude) if self.exclude is None and hasattr(self.form, '_meta') and self.form._meta.exclude: # Take the custom ModelForm's Meta.exclude into account only if the # ModelAdmin doesn't define its own. exclude.extend(self.form._meta.exclude) # if exclude is an empty list we pass None to be consistant with the # default on modelform_factory exclude = exclude or None defaults = { "form": self.form, "fields": self.fields and list(self.fields) or '__all__', "exclude": exclude, } defaults.update(kwargs) return modelform_factory(self.model, **defaults)
Example #10
Source File: wizard.py From imoocc with GNU General Public License v2.0 | 6 votes |
def get_step_form(self, step=None): if step is None: step = self.steps.current attrs = self.get_form_list()[step] if type(attrs) in (list, tuple): return modelform_factory(self.model, form=forms.ModelForm, fields=attrs, formfield_callback=self.admin_view.formfield_for_dbfield) elif type(attrs) is dict: if attrs.get('fields', None): return modelform_factory(self.model, form=forms.ModelForm, fields=attrs['fields'], formfield_callback=self.admin_view.formfield_for_dbfield) if attrs.get('callback', None): callback = attrs['callback'] if callable(callback): return callback(self) elif hasattr(self.admin_view, str(callback)): return getattr(self.admin_view, str(callback))(self) elif issubclass(attrs, forms.BaseForm): return attrs return None
Example #11
Source File: wizard.py From StormOnline with Apache License 2.0 | 6 votes |
def get_step_form(self, step=None): if step is None: step = self.steps.current attrs = self.get_form_list()[step] if type(attrs) in (list, tuple): return modelform_factory(self.model, form=forms.ModelForm, fields=attrs, formfield_callback=self.admin_view.formfield_for_dbfield) elif type(attrs) is dict: if attrs.get('fields', None): return modelform_factory(self.model, form=forms.ModelForm, fields=attrs['fields'], formfield_callback=self.admin_view.formfield_for_dbfield) if attrs.get('callback', None): callback = attrs['callback'] if callable(callback): return callback(self) elif hasattr(self.admin_view, str(callback)): return getattr(self.admin_view, str(callback))(self) elif issubclass(attrs, forms.BaseForm): return attrs return None
Example #12
Source File: detail.py From devops with MIT License | 6 votes |
def get_model_form(self, **kwargs): """ Returns a Form class for use in the admin add view. This is used by add_view and change_view. """ if self.exclude is None: exclude = [] else: exclude = list(self.exclude) if self.exclude is None and hasattr(self.form, '_meta') and self.form._meta.exclude: # Take the custom ModelForm's Meta.exclude into account only if the # ModelAdmin doesn't define its own. exclude.extend(self.form._meta.exclude) # if exclude is an empty list we pass None to be consistant with the # default on modelform_factory exclude = exclude or None defaults = { "form": self.form, "fields": self.fields and list(self.fields) or None, "exclude": exclude, } defaults.update(kwargs) return modelform_factory(self.model, **defaults)
Example #13
Source File: classes.py From django-htk with MIT License | 6 votes |
def __init__(self, instance, *args, **kwargs): """Overrides forms.ModelForm.__init__() Unlike forms.ModelForm, instance is required """ self.attrs = kwargs.pop('attrs', {}) self.use_react = kwargs.pop('use_react', False) self.instance = instance self._save_fields_lookup = kwargs.pop('save_fields_lookup', {}) super(AbstractModelInstanceUpdateForm, self).__init__(instance=instance, *args, **kwargs) self._set_save_fields(*args) if args or kwargs: # make all non-save fields optional for name, field in self.fields.items(): if name not in self._save_fields_lookup: field.required = False else: pass else: # leave the fields the way they are for rendering a form initially pass set_input_attrs(self) set_input_placeholder_labels(self)
Example #14
Source File: device_forms.py From fermentrack with MIT License | 6 votes |
def clean_device_name(self): if 'device_name' not in self.cleaned_data: raise forms.ValidationError("A device name must be specified") else: device_name = self.cleaned_data['device_name'] # Name uniqueness is enforced on the sql CREATE, but since we're not using a ModelForm this form won't check to # see if the name is actually uniqye. That said - we only need to check if we're creating the object. We do not # need to check if we're modifying the object. if 'modify_not_create' not in self.cleaned_data: modify_not_create = False else: modify_not_create = self.cleaned_data['modify_not_create'] if not modify_not_create: # If we're creating, not modifying try: existing_device = BrewPiDevice.objects.get(device_name=device_name) raise forms.ValidationError("A device already exists with the name {}".format(device_name)) except ObjectDoesNotExist: # There was no existing device - we're good. return device_name else: # For modifications, we always return the device name return device_name
Example #15
Source File: test_cms_plugins_blogpost.py From richie with MIT License | 6 votes |
def test_cms_plugins_blogpost_form_page_choices(self): """ The form to create a blogpost plugin should only list blogpost pages in the select box. """ class BlogPostPluginModelForm(forms.ModelForm): """A form for testing the choices in the select box""" class Meta: model = BlogPostPluginModel fields = ["page"] blog_page = create_i18n_page("my title", published=True) blogpost = BlogPostFactory(page_parent=blog_page) other_page_title = "other page" create_page( other_page_title, "richie/single_column.html", settings.LANGUAGE_CODE ) plugin_form = BlogPostPluginModelForm() rendered_form = plugin_form.as_table() self.assertEqual(rendered_form.count(blogpost.extended_object.get_title()), 1) self.assertNotIn(other_page_title, plugin_form.as_table())
Example #16
Source File: admin.py From django-seo with BSD 3-Clause "New" or "Revised" License | 6 votes |
def get_modelinstance_form(metadata_class): model_class = metadata_class._meta.get_model('modelinstance') # Restrict content type choices to the models set in seo_models content_types = get_seo_content_types(metadata_class._meta.seo_models) # Get a list of fields, with _content_type at the start important_fields = ['_content_type'] + ['_object_id'] + core_choice_fields(metadata_class) _fields = important_fields + list(fields_for_model(model_class, exclude=important_fields).keys()) class ModelMetadataForm(forms.ModelForm): _content_type = forms.ModelChoiceField( queryset=ContentType.objects.filter(id__in=content_types), empty_label=None, label=capfirst(_("model")), ) _object_id = forms.IntegerField(label=capfirst(_("ID"))) class Meta: model = model_class fields = _fields return ModelMetadataForm
Example #17
Source File: forms.py From openhgsenti with Apache License 2.0 | 6 votes |
def generic_inlineformset_factory(model, form=ModelForm, formset=BaseGenericInlineFormSet, ct_field="content_type", fk_field="object_id", fields=None, exclude=None, extra=3, can_order=False, can_delete=True, max_num=None, formfield_callback=None, validate_max=False, for_concrete_model=True, min_num=None, validate_min=False): """ Returns a ``GenericInlineFormSet`` for the given kwargs. You must provide ``ct_field`` and ``fk_field`` if they are different from the defaults ``content_type`` and ``object_id`` respectively. """ opts = model._meta # if there is no field called `ct_field` let the exception propagate ct_field = opts.get_field(ct_field) if not isinstance(ct_field, models.ForeignKey) or ct_field.remote_field.model != ContentType: raise Exception("fk_name '%s' is not a ForeignKey to ContentType" % ct_field) fk_field = opts.get_field(fk_field) # let the exception propagate if exclude is not None: exclude = list(exclude) exclude.extend([ct_field.name, fk_field.name]) else: exclude = [ct_field.name, fk_field.name] FormSet = modelformset_factory(model, form=form, formfield_callback=formfield_callback, formset=formset, extra=extra, can_delete=can_delete, can_order=can_order, fields=fields, exclude=exclude, max_num=max_num, validate_max=validate_max, min_num=min_num, validate_min=validate_min) FormSet.ct_field = ct_field FormSet.ct_fk_field = fk_field FormSet.for_concrete_model = for_concrete_model return FormSet
Example #18
Source File: admin.py From django-seo with BSD 3-Clause "New" or "Revised" License | 6 votes |
def get_view_form(metadata_class): model_class = metadata_class._meta.get_model('view') # Restrict content type choices to the models set in seo_models view_choices = [(key, " ".join(key.split("_"))) for key in get_seo_views(metadata_class)] view_choices.insert(0, ("", "---------")) # Get a list of fields, with _view at the start important_fields = ['_view'] + core_choice_fields(metadata_class) _fields = important_fields + list(fields_for_model(model_class, exclude=important_fields).keys()) class ModelMetadataForm(forms.ModelForm): _view = forms.ChoiceField(label=capfirst(_("view")), choices=view_choices, required=False) class Meta: model = model_class fields = _fields return ModelMetadataForm
Example #19
Source File: detail.py From django_OA with GNU General Public License v3.0 | 6 votes |
def get_model_form(self, **kwargs): """ Returns a Form class for use in the admin add view. This is used by add_view and change_view. """ if self.exclude is None: exclude = [] else: exclude = list(self.exclude) if self.exclude is None and hasattr(self.form, '_meta') and self.form._meta.exclude: # Take the custom ModelForm's Meta.exclude into account only if the # ModelAdmin doesn't define its own. exclude.extend(self.form._meta.exclude) # if exclude is an empty list we pass None to be consistant with the # default on modelform_factory exclude = exclude or None defaults = { "form": self.form, "fields": self.fields and list(self.fields) or '__all__', "exclude": exclude, } defaults.update(kwargs) return modelform_factory(self.model, **defaults)
Example #20
Source File: detail.py From weibo-analysis-system with MIT License | 6 votes |
def get_model_form(self, **kwargs): """ Returns a Form class for use in the admin add view. This is used by add_view and change_view. """ if self.exclude is None: exclude = [] else: exclude = list(self.exclude) if self.exclude is None and hasattr(self.form, '_meta') and self.form._meta.exclude: # Take the custom ModelForm's Meta.exclude into account only if the # ModelAdmin doesn't define its own. exclude.extend(self.form._meta.exclude) # if exclude is an empty list we pass None to be consistant with the # default on modelform_factory exclude = exclude or None defaults = { "form": self.form, "fields": self.fields and list(self.fields) or '__all__', "exclude": exclude, } defaults.update(kwargs) return modelform_factory(self.model, **defaults)
Example #21
Source File: wizard.py From CTF_AWD_Platform with MIT License | 6 votes |
def get_step_form(self, step=None): if step is None: step = self.steps.current attrs = self.get_form_list()[step] if type(attrs) in (list, tuple): return modelform_factory(self.model, form=forms.ModelForm, fields=attrs, formfield_callback=self.admin_view.formfield_for_dbfield) elif type(attrs) is dict: if attrs.get('fields', None): return modelform_factory(self.model, form=forms.ModelForm, fields=attrs['fields'], formfield_callback=self.admin_view.formfield_for_dbfield) if attrs.get('callback', None): callback = attrs['callback'] if callable(callback): return callback(self) elif hasattr(self.admin_view, str(callback)): return getattr(self.admin_view, str(callback))(self) elif issubclass(attrs, forms.BaseForm): return attrs return None
Example #22
Source File: wizard.py From weibo-analysis-system with MIT License | 6 votes |
def get_step_form(self, step=None): if step is None: step = self.steps.current attrs = self.get_form_list()[step] if type(attrs) in (list, tuple): return modelform_factory(self.model, form=forms.ModelForm, fields=attrs, formfield_callback=self.admin_view.formfield_for_dbfield) elif type(attrs) is dict: if attrs.get('fields', None): return modelform_factory(self.model, form=forms.ModelForm, fields=attrs['fields'], formfield_callback=self.admin_view.formfield_for_dbfield) if attrs.get('callback', None): callback = attrs['callback'] if callable(callback): return callback(self) elif hasattr(self.admin_view, str(callback)): return getattr(self.admin_view, str(callback))(self) elif issubclass(attrs, forms.BaseForm): return attrs return None
Example #23
Source File: forms.py From SEMS with GNU General Public License v3.0 | 6 votes |
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields['emri'].widget.attrs.update({'class': 'form-control'}) # class LendetForm(forms.ModelForm): # class Meta: # model = ProvimetMundshme # fields = '__all__' # def __init__(self, *args, **kwargs): # super().__init__(*args, **kwargs) # self.fields['program'].widget.attrs.update({'class': 'form-control', 'data-type': 'program-listener'}) # self.fields['semester'].widget.attrs.update({'class': 'form-control'}) # self.fields['year'].widget.attrs.update({'class': 'form-control'}) # self.fields['level'].widget.attrs.update({'class': 'form-control'}) # course = forms.MultipleChoiceField( # widget=forms.CheckboxSelectMultiple, # choices=[(c.pk, c.name) for c in Course.objects.all()], # )
Example #24
Source File: test_cms_plugins_program.py From richie with MIT License | 6 votes |
def test_cms_plugins_program_form_page_choices(self): """ The form to create a program plugin should only list program pages in the select box. """ class ProgramPluginModelForm(forms.ModelForm): """A form for testing the choices in the select box""" class Meta: model = ProgramPluginModel fields = ["page"] program_page = create_i18n_page("my title", published=True) program = ProgramFactory(page_parent=program_page) other_page_title = "other page" create_page( other_page_title, "richie/single_column.html", settings.LANGUAGE_CODE ) plugin_form = ProgramPluginModelForm() rendered_form = plugin_form.as_table() self.assertEqual(rendered_form.count(program.extended_object.get_title()), 1) self.assertNotIn(other_page_title, plugin_form.as_table())
Example #25
Source File: detail.py From myblog with GNU Affero General Public License v3.0 | 6 votes |
def get_model_form(self, **kwargs): """ Returns a Form class for use in the admin add view. This is used by add_view and change_view. """ if self.exclude is None: exclude = [] else: exclude = list(self.exclude) if self.exclude is None and hasattr(self.form, '_meta') and self.form._meta.exclude: # Take the custom ModelForm's Meta.exclude into account only if the # ModelAdmin doesn't define its own. exclude.extend(self.form._meta.exclude) # if exclude is an empty list we pass None to be consistant with the # default on modelform_factory exclude = exclude or None defaults = { "form": self.form, "fields": self.fields and list(self.fields) or '__all__', "exclude": exclude, } defaults.update(kwargs) return modelform_factory(self.model, **defaults)
Example #26
Source File: test_cms_plugins_organizations_by_category.py From richie with MIT License | 6 votes |
def test_cms_plugins_organizations_by_category_form_page_choices(self): """ The form to create an organizations by category plugin should only list category pages in the select box. There shouldn't be any duplicate because of published status. """ class OrganizationsByCategoryPluginModelForm(forms.ModelForm): """A form for testing the choices in the select box""" class Meta: model = OrganizationsByCategoryPluginModel fields = ["page"] category = CategoryFactory(should_publish=True) PageFactory(title__title="other page", should_publish=True) plugin_form = OrganizationsByCategoryPluginModelForm() rendered_form = plugin_form.as_table() self.assertEqual(rendered_form.count(category.extended_object.get_title()), 1) self.assertNotIn("other", plugin_form.as_table())
Example #27
Source File: wizard.py From myblog with GNU Affero General Public License v3.0 | 6 votes |
def get_step_form(self, step=None): if step is None: step = self.steps.current attrs = self.get_form_list()[step] if type(attrs) in (list, tuple): return modelform_factory(self.model, form=forms.ModelForm, fields=attrs, formfield_callback=self.admin_view.formfield_for_dbfield) elif type(attrs) is dict: if attrs.get('fields', None): return modelform_factory(self.model, form=forms.ModelForm, fields=attrs['fields'], formfield_callback=self.admin_view.formfield_for_dbfield) if attrs.get('callback', None): callback = attrs['callback'] if callable(callback): return callback(self) elif hasattr(self.admin_view, str(callback)): return getattr(self.admin_view, str(callback))(self) elif issubclass(attrs, forms.BaseForm): return attrs return None
Example #28
Source File: wizard.py From django_OA with GNU General Public License v3.0 | 6 votes |
def get_step_form(self, step=None): if step is None: step = self.steps.current attrs = self.get_form_list()[step] if type(attrs) in (list, tuple): return modelform_factory(self.model, form=forms.ModelForm, fields=attrs, formfield_callback=self.admin_view.formfield_for_dbfield) elif type(attrs) is dict: if attrs.get('fields', None): return modelform_factory(self.model, form=forms.ModelForm, fields=attrs['fields'], formfield_callback=self.admin_view.formfield_for_dbfield) if attrs.get('callback', None): callback = attrs['callback'] if callable(callback): return callback(self) elif hasattr(self.admin_view, str(callback)): return getattr(self.admin_view, str(callback))(self) elif issubclass(attrs, forms.BaseForm): return attrs return None
Example #29
Source File: admin.py From lexpredict-contraxsuite with GNU Affero General Public License v3.0 | 5 votes |
def _prepare_form_template(self, request, object_id, extra_context=None): self.change_form_template = None if request.method == 'POST': base_actions = ['_save', '_continue', '_addanother'] source_action = None for action in base_actions: if self._get_confirm_action_name(action) in request.POST: request.POST = request.POST.copy() request.POST[action] = request.POST[self._get_confirm_action_name(action)] source_action = action break if not source_action: form = None to_field = request.POST.get(TO_FIELD_VAR, request.GET.get(TO_FIELD_VAR)) if not to_field or (to_field and self.to_field_allowed(request, to_field)): obj = self.get_object(request, unquote(object_id), to_field) if object_id else None ModelForm = self.get_form(request, obj) form = ModelForm(request.POST, request.FILES, instance=obj) if not form or not form.is_valid(): return extra_context warning_context = self.build_warning_context(object_id, form) if warning_context: for action in base_actions: if action in request.POST: extra_context = {**warning_context, **extra_context} if extra_context else warning_context self.change_form_template = self.save_warning_template extra_context['confirmation_button_name'] = self._get_confirm_action_name(action) extra_context['source_action'] = action break return extra_context
Example #30
Source File: test_entry_forms.py From django-andablog with BSD 2-Clause "Simplified" License | 5 votes |
def setUp(self): class EntryForm(ModelForm): class Meta: model = models.Entry fields = ['title', 'content', 'is_published'] self.form_cls = EntryForm