---
title: "Foirmeacha múnla"
version: 6.0
locale: ga
source: https://docs.djangoproject.com/ga/6.0/ref/forms/models/
canonical: https://djangodocs.dev/ga/6.0/ref/forms/models/
---
# Foirmeacha múnla

`ModelForm` API reference. For introductory material about using a
`ModelForm`, see the [Foirmeacha a chruthú ó shamhl](/ga/6.0/topics/forms/modelforms/) topic guide.

## Model form `Meta` API

#### `class ModelFormOptions`

The `_meta` API is used to build forms that reflect a Django model. It is
accessible through the `_meta` attribute of each model form, and is an
`django.forms.models.ModelFormOptions` instance.

The structure of the generated form can be customized by defining metadata
options as attributes of an inner `Meta` class. For example:

```
from django.forms import ModelForm
from myapp.models import Book

class BookForm(ModelForm):
    class Meta:
        model = Book
        fields = ["title", "author"]
        help_texts = {
            "title": "The title of the book",
            "author": "The author of the book",
        }
        # ... other attributes
```

Required attributes are [`model`](#django.forms.ModelFormOptions.model), and either
[`fields`](#django.forms.ModelFormOptions.fields) or [`exclude`](#django.forms.ModelFormOptions.exclude). All
other `Meta` attributes are optional.

Optional attributes, other than [`localized_fields`](#django.forms.ModelFormOptions.localized_fields) and
[`formfield_callback`](#django.forms.ModelFormOptions.formfield_callback), expect a dictionary that maps a
model field name to a value. Any field that is not defined in the dictionary
falls back to the field's default value.

> **Invalid field names**
>
> Invalid or excluded field names in an optional dictionary attribute have no
> effect, since fields that are not included are not accessed.

> **Invalid Meta class attributes**
>
> You may define any attribute on a `Meta` class. Typos or incorrect
> attribute names do not raise an error.

### `teachtaireachtaí earráid`

#### `ModelFormOptions.error_messages`

A dictionary that maps a model field name to a dictionary of error message
keys (`null`, `blank`, `invalid`, `unique`, etc.) mapped to custom
error messages.

When a field is not specified, Django will fall back on the error messages
defined in that model field's [`django.db.models.Field.error_messages`](/ga/6.0/ref/models/fields/#django.db.models.Field.error_messages)
and then finally on the default error messages for that field type.

### `exclude`

#### `ModelFormOptions.exclude`

A tuple or list of [`model`](#django.forms.ModelFormOptions.model) field names to be
excluded from the form.

Either [`fields`](#django.forms.ModelFormOptions.fields) or
[`exclude`](#django.forms.ModelFormOptions.exclude) must be set. If neither are set, an
[`ImproperlyConfigured`](/ga/6.0/ref/exceptions/#django.core.exceptions.ImproperlyConfigured) exception will be
raised. If [`exclude`](#django.forms.ModelFormOptions.exclude) is set and
[`fields`](#django.forms.ModelFormOptions.fields) is unset, all model fields, except for
those specified in [`exclude`](#django.forms.ModelFormOptions.exclude), are included in the
form.

### `field_classes`

#### `ModelFormOptions.field_classes`

A dictionary that maps a model field name to a [`Field`](/ga/6.0/ref/forms/fields/#django.forms.Field)
class, which overrides the `form_class` used in the model field's
[`Field.formfield()`](/ga/6.0/ref/models/fields/#django.db.models.Field.formfield) method.

When a field is not specified, Django will fall back on the model field's
[default field class](/ga/6.0/topics/forms/modelforms/#model-form-field-types).

### réimsí \`\`

#### `ModelFormOptions.fields`

A tuple or list of [`model`](#django.forms.ModelFormOptions.model) field names to be
included in the form. The value `'__all__'` can be used to specify that
all fields should be included.

If any field is specified in [`exclude`](#django.forms.ModelFormOptions.exclude), this will
not be included in the form despite being specified in
[`fields`](#django.forms.ModelFormOptions.fields).

Either [`fields`](#django.forms.ModelFormOptions.fields) or
[`exclude`](#django.forms.ModelFormOptions.exclude) must be set. If neither are set, an
[`ImproperlyConfigured`](/ga/6.0/ref/exceptions/#django.core.exceptions.ImproperlyConfigured) exception will be
raised.

### `formfield_callback`

#### `ModelFormOptions.formfield_callback`

A function or callable that takes a model field and returns a
[`django.forms.Field`](/ga/6.0/ref/forms/fields/#django.forms.Field) object.

### `help_texts`

#### `ModelFormOptions.help_texts`

A dictionary that maps a model field name to a help text string.

When a field is not specified, Django will fall back on that model field's
[`help_text`](/ga/6.0/ref/models/fields/#django.db.models.Field.help_text).

### `labels`

#### `ModelFormOptions.labels`

A dictionary that maps a model field names to a label string.

When a field is not specified, Django will fall back on that model field's
[`verbose_name`](/ga/6.0/ref/models/fields/#django.db.models.Field.verbose_name) and then the field's attribute
name.

### `localized_fields`

#### `ModelFormOptions.localized_fields`

A tuple or list of [`model`](#django.forms.ModelFormOptions.model) field names to be
localized. The value `'__all__'` can be used to specify that all fields
should be localized.

By default, form fields are not localized, see
[enabling localization of fields](/ga/6.0/topics/forms/modelforms/#modelforms-enabling-localization-of-fields) for more details.

### Samhail \`\`

#### `ModelFormOptions.model`

Required. The [`django.db.models.Model`](/ga/6.0/ref/models/instances/#django.db.models.Model) to be used for the
[`ModelForm`](/ga/6.0/topics/forms/modelforms/#django.forms.ModelForm).

### `widgets`

#### `ModelFormOptions.widgets`

A dictionary that maps a model field name to a
[`django.forms.Widget`](/ga/6.0/ref/forms/widgets/#django.forms.Widget).

When a field is not specified, Django will fall back on the default widget
for that particular type of [`django.db.models.Field`](/ga/6.0/ref/models/fields/#django.db.models.Field).

## Model form factory functions

### `modelform_factory`

#### `modelform_factory(model, form=ModelForm, fields=None, exclude=None, formfield_callback=None, widgets=None, localized_fields=None, labels=None, help_texts=None, error_messages=None, field_classes=None)`

Tuairisceáin a:class: ~django.forms.ModelForm aicme don `model` tugtha. Is féidir leat argóint ```foirm ``a rith go roghnach le húsáid mar phointe tosaigh chun an `ModelForm``` a thógáil.

Is liosta roghnach d'ainmneacha réimse é `fields`. Má chuirtear ar fáil, ní chuirfear ach na réimsí ainmnithe san áireamh sna réimsí ar ais.

Is liosta roghnach d'ainmneacha réimse é `eisiúint`. Má chuirtear ar fáil, cuirfear na réimsí ainmnithe a eisiamh ó na réimsí a cuireadh ar ais, fiú má tá siad liostaithe san argóint réimsí .

Is inghlaoch é `formfield_callback` a ghlacann réimse samhail agus a thugann réimse foirme ar ais.

Is foclóir d'ainmneacha réimse samhail atá mapáilte chuig giuirléid é `giuirléidí`.

Is liosta d'ainmneacha réimsí ba chóir a bheith logánach é `localized_fields`.

Is foclóir d'ainmneacha réimse samhail atá mapáilte le lipéad é `lipéad`.

Is foclóir d'ainmneacha réimse samhail atá mapáilte le téacs cabhrach é `help_texts`.

Is foclóir d'ainmneacha réimse samhail é `error_messages` a mappáiltear le foclóir teachtaireachtaí earráide.

Is foclóir é field\_classes\` d'ainmneacha réimse samhail a mappáiltear chuig rang réimse foirme.

Féach: ref: modelforms-factory mar shampla úsáid.

Ní mór duit liosta na réimsí a sholáthar go sainráite, trí argóintí eochairfhocal ```réimsí `réimsí ``nó ``eisiam```, nó na tréithe comhfhreagracha ar aicme `Meta` istigh na foirme. Féach:ref: modelforms-selecting-fields le haghaidh tuilleadh faisnéise. Aon sainmhíniú ar na réimsí atá le húsáid a fhágáil, beidh eisceacht: exc: ~Django.Core.Exceptions.ImProperlyConfigured mar thoradh air.

### `modelformset_factory`

#### `modelformset_factory(model, form=ModelForm, formfield_callback=None, formset=BaseModelFormSet, extra=1, can_delete=False, can_order=False, max_num=None, fields=None, exclude=None, widgets=None, validate_max=False, localized_fields=None, labels=None, help_texts=None, error_messages=None, min_num=None, validate_min=False, field_classes=None, absolute_max=None, can_delete_extra=True, renderer=None, edit_only=False)`

Tugann sé rang `FormSet` ar ais don rang ``` model `` ``` \`\` \`\` .

Argóintí ```samhail ``, `foirme```, réimsí\`, `eisiam`, formfield\_callback\`, giuirléidí \`, réimsí logánaithe\`, labels\`, cabhrach\_téacs\`, earráid\_teachtaireachtaí\`, agus réimsí cuirtear go léir trí:func: ~django.forms.models.modelform\_factory.

Argóintí `formset`, extra\`, can\_delete\`, can\_ord\`, `max_num`, bailate\_max\`, min\_num\`, bailate\_min\`, bailate\_min\`, absolute\_max\`, can\_delete\_extra\`, agus `renderer` cuirtear trí:func: ~django.forms.formsets.formsets.formset\_factory. Féach: doc: formsets le haghaidh sonraí \</topics/forms/formsets\>.

\<model-formsets-edit-only\>Ceadaíonn an argóint edit\_only\`: ref: chruthú rudaí nua a chosc .

Féach: ref: model-formsets mar shampla úsáid.

### `inlineformset_factory`

#### `inlineformset_factory(parent_model, model, form=ModelForm, formset=BaseInlineFormSet, fk_name=None, fields=None, exclude=None, extra=3, can_order=False, can_delete=True, max_num=None, formfield_callback=None, widgets=None, validate_max=False, localized_fields=None, labels=None, help_texts=None, error_messages=None, min_num=None, validate_min=False, field_classes=None, absolute_max=None, can_delete_extra=True, renderer=None, edit_only=False)`

Tugann `inlineFormSet` ar ais ag baint úsáid:func: modelformset\_factory le réamhshocraithe ```formSet = ``:class: `~django.forms.models.baseineFormSet`, ``can_delete=True```, agus `extra=3`.

Má tá níos mó ná ceann amháin: class: ~django.db.models.foreignKey ag do mhúnla go dtí an `parent_model`, ní mór duit `fk_name` a shonrú.

Féach: ref: inline-formsets mar shampla úsáid.
