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

Acuan API Formulir Model.  Untuk bahan pengenalan, lihat panduan topik [Membuat formulir dari model](/id/2.2/topics/forms/modelforms/).

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

Mengembalikan sebuah kelas [`ModelForm`](/id/2.2/topics/forms/modelforms/#django.forms.ModelForm) untuk\`\`model\`\` yang diberikan. Anda dapat secara pilihan melewatkan sebuah argumen `form` untuk digunakan sebagai sebuah titik permulaan untuk membangun `ModelForm`.

`fields` adalah daftar pilihan dari nama-nama bidang. Jika disediakan, hanya bidang-bidang bernama akan disertakan dalam bidang kembalian.

```exclude``adalah daftar pilihan dari nama-nama bidang. Jika disediakan, bidang-bidang bernama akan tidak disertakan dari bidang-bidang kembalian, bahkan jika mereka terdaftar dalam argumen ``fields```.

`formfield_callback` adalah sebuah callable yang mengambil sebuah bidang model dan mengembalikan sebuah bidang formulir.

`widgets` adalah sebuah dictionary dari nama-nama bidang model dipetakan pada sebuah widget.

`localized_fields` adalah daftar dari nama dari bidang yang harus dilokalkan.

`labels` adalah sebuah dictionary dari nama-nama bidang dipetakan pada sebuah label.

`help_texts` adalah sebuah dictionary dari nama-nama bidang dipetakan pada sebuah bantuan teks.

error\_messages\`\`adalah sebuah dictionary dari nama-nama bidang dipetakan pada sebuah dictionary dari pesan kesalahan.

`field_classes` adalah sebuah dictionary dari nama-nama bidang dipetakan pada sebuah kelas bidang formulir.

Lihat [Fungsi pabrik ModelForm](/id/2.2/topics/forms/modelforms/#modelforms-factory) untuk contoh penggunaan.

Anda harus menyediakan daftar dari bidang-bidang secara tegas, salah satu melalui argumen kata kunci `fields` atau `exclude`, atau atribut berhubungan pada kelas `Meta` bagian dalam formulir. Lihat [Memilih bidang untuk digunakan](/id/2.2/topics/forms/modelforms/#modelforms-selecting-fields) untuk informasi lebih. Menghilangkan pengertian apapun dari bidang untuk digunakan akan menghasilkan dalam sebuah pengecualian [`ImproperlyConfigured`](/id/2.2/ref/exceptions/#django.core.exceptions.ImproperlyConfigured).

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

Argumen-argumen `model`, `form`, `fields`, `exclude`, `formfield_callback`, `widgets`, `localized_fields`, `labels`, `help_texts`, `error_messages`, dan `field_classes` semua dilewatkan melalui [`modelform_factory()`](#django.forms.models.modelform_factory).

Argumen-argumen `formset`, `extra`, `max_num`, `can_order`, `can_delete` dan `validate_max` dilewatkan melalui [`formset_factory()`](/id/2.2/ref/forms/formsets/#django.forms.formsets.formset_factory). Lihat [formsets](/id/2.2/topics/forms/formsets/) untuk rincian.

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

## `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/2.2/topics/forms/modelforms/#django.forms.models.BaseInlineFormSet), `can_delete=True`, dan `extra=3`.

Jika model anda mempunyai lebih dari satu [`ForeignKey`](/id/2.2/ref/models/fields/#django.db.models.ForeignKey) pada `parent_model`, anda harus menentukan `fk_name`.

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