---
title: "Fungsi Formulir Model"
version: 1.10
locale: id
source: https://docs.djangoproject.com/id/1.10/ref/forms/models/
canonical: https://djangodocs.dev/id/1.10/ref/forms/models/
---
# Fungsi Formulir Model

Model Form API reference. For introductory material about model forms, see the
[Membuat formulir dari model](/id/1.10/topics/forms/modelforms/) topic guide.

## `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)`

Returns a [`ModelForm`](/id/1.10/topics/forms/modelforms/#django.forms.ModelForm) class for the given `model`.
You can optionally pass a `form` argument to use as a starting point for
constructing the `ModelForm`.

`fields` is an optional list of field names. If provided, only the named
fields will be included in the returned fields.

`exclude` is an optional list of field names. If provided, the named
fields will be excluded from the returned fields, even if they are listed
in the `fields` argument.

`formfield_callback` is a callable that takes a model field and returns
a form field.

`widgets` is a dictionary of model field names mapped to a widget.

`localized_fields` is a list of names of fields which should be localized.

`labels` is a dictionary of model field names mapped to a label.

`help_texts` is a dictionary of model field names mapped to a help text.

`error_messages` is a dictionary of model field names mapped to a
dictionary of error messages.

`field_classes` is a dictionary of model field names mapped to a form
field class.

Lihat [ModelForm factory function](/id/1.10/topics/forms/modelforms/#modelforms-factory) untuk contoh penggunaan.

You must provide the list of fields explicitly, either via keyword arguments
`fields` or `exclude`, or the corresponding attributes on the form's
inner `Meta` class. See [Memilih bidang untuk digunakan](/id/1.10/topics/forms/modelforms/#modelforms-selecting-fields) for more
information. Omitting any definition of the fields to use will result in
an [`ImproperlyConfigured`](/id/1.10/ref/exceptions/#django.core.exceptions.ImproperlyConfigured) exception.

> **New in Django 1.9**
>
> Argumen kata kunci `field_classes` telah ditambahkan.

## `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)`

Mengembalikan kelas `FormSet` untuk kelas `model` yang diberikan.

Arguments `model`, `form`, `fields`, `exclude`,
`formfield_callback`, `widgets`, `localized_fields`, `labels`,
`help_texts`, `error_messages`, and `field_classes` are all passed
through to [`modelform_factory()`](#django.forms.models.modelform_factory).

Arguments `formset`, `extra`, `max_num`, `can_order`,
`can_delete` and `validate_max` are passed through to
[`formset_factory()`](/id/1.10/ref/forms/formsets/#django.forms.formsets.formset_factory). See [formsets](/id/1.10/topics/forms/formsets/) for details.

Lihat [Model formsets](/id/1.10/topics/forms/modelforms/#model-formsets) untuk contoh penggunaan.

> **New in Django 1.9**
>
> Argumen kata kunci `field_classes` telah ditambahkan.

## `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)`

Mengembalikan sebuah `InlineFormSet` menggunakan [`modelformset_factory()`](#django.forms.models.modelformset_factory) dengan awalan dari formset=\`[`BaseInlineFormSet`](/id/1.10/topics/forms/modelforms/#django.forms.models.BaseInlineFormSet), `can_delete=True`, dan `extra=3`.

If your model has more than one [`ForeignKey`](/id/1.10/ref/models/fields/#django.db.models.ForeignKey) to
the `parent_model`, you must specify a `fk_name`.

Lihat [Formset berderet](/id/1.10/topics/forms/modelforms/#inline-formsets) untuk contoh penggunaan.

> **New in Django 1.9**
>
> Argumen kata kunci `field_classes` telah ditambahkan.
