Topic guide Composite primary keys
As a composite primary key is a virtual field, a field which doesn’t represent a single database column, this field is excluded from ModelForms.
694 sections in Django 5.2 Search all versions →
Topic guide Composite primary keys
As a composite primary key is a virtual field, a field which doesn’t represent a single database column, this field is excluded from ModelForms.
Topic guide
classBaseFormSet[source] A formset is a layer of abstraction to work with multiple forms on the same page. It can be best compared to a data grid.
Topic guide Formsets
In the rendered HTML, formsets include a prefix on each field’s name. By default, the prefix is 'form', but it can be customized using the formset’s prefix argument.
Topic guide Formsets
Formsets have the following attributes and methods associated with rendering: BaseFormSet.renderer : Specifies the renderer to use for the formset. Defaults to the renderer specified by the FORM_RENDERER setting.
Topic guide Formsets Using a formset in views and templates
If you manually render fields in the template, you can render can_delete parameter with {{ form.DELETE }}: Similarly, if the formset has the ability to order (can_order=True), it is possible to render it with {{ form.ORDER }}.
Topic guide Formsets Using a formset in views and templates
You are able to use more than one formset in a view if you like. Formsets borrow much of its behavior from forms.
Topic guide Working with forms
Handling forms is a complex business.
Topic guide Working with forms
We’ve described HTML forms briefly, but an HTML <form> is just one part of the machinery required.
Topic guide Creating forms from models ModelForm
Calling save_m2m() is only required if you use save(commit=False). When you use a save() on a form, all data – including many-to-many data – is saved without the need for any additional method calls.
Topic guide Creating forms from models Model formsets
As with regular forms, it’s possible to specify initial data for forms by specifying an initial parameter when instantiating the form.
Topic guide Creating forms from models Model formsets
Using the localized_fields parameter, you can enable localization for fields in the form. If localized_fields is set to the special value '__all__', all fields will be localized.
Topic guide Translation Internationalization: in JavaScript codeUsing the JavaScript translation catalog
… function works in a similar way to the pluralize template filter, determining if a given count should use a plural form of a word or not: In the simplest case, if no custom pluralization is needed, this returns false for …
Topic guide Translation Localization: how to create language files
After you create your message file – and each time you make changes to it – you’ll need to compile it into a more efficient form, for use by gettext. Do this with the django-admin compilemessages utility.
Topic guide Security in Django
Clickjacking is a type of attack where a malicious site wraps another site in a frame. This attack can result in an unsuspecting user being tricked into performing unintended actions on the target site.
Topic guide Serializing Django objects Serialization formatsJSON
A subclass of JSONEncoder, it handles these additional types: datetime A string of the form YYYY-MM-DDTHH:mm:ss.sssZ or YYYY-MM-DDTHH:mm:ss.sss+HH:MM as defined in ECMA-262. date A string of the form YYYY-MM-DD as defined in ECMA-262.
Topic guide Testing tools The test client
```python >>> c = Client() >>> c.get("/", SCRIPT_NAME="/app/") ``` If you already have the GET arguments in URL-encoded form, you can use that encoding instead of using the data argument.
… django.conf.urls) - has_add_permission() (InlineModelAdmin method) - (ModelAdmin method) - has_change_permission() (InlineModelAdmin method) - (ModelAdmin method) - has_changed() (Field method) - (Form method) - has_curve (OGRGeometry attribute) - has_delete_permission() (InlineModelAdmin method) - (ModelAdmin method) - has_error() (Form method) - has_header() (HttpResponse …
… (BoundField attribute) - (Field attribute) - (LabelCommand attribute) - (Options attribute) - label_lower (Options attribute) - label_suffix (Field attribute) - (Form attribute) - label_tag() (BoundField method) - LabelCommand (class in django.core.management) - labels (ModelFormOptions attribute) - Lag (class in django.db.models.functions) …
How-to
… can use csrf_protect() on particular views you want to protect (see below). 2. In any template that uses a POST form, use the csrf_token tag inside the <form> element if the form is for an internal URL, e.g.: This should …
How-to How to use Django’s CSRF protection
It must be used both on views that insert the CSRF token in the output, and on those that accept the POST form data. (These are often the same view function, but not always).