ModellformerLink to this heading

ModelForm API-referens. För introduktionsmaterial om hur man använder en ModelForm, se ämnesguiden Skapa formulär från modeller.

Modellformulär Meta APILink to this heading

class ModelFormOptionsLink to this definition

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 a django.forms.models.ModelFormOptions instance.

Strukturen på det genererade formuläret kan anpassas genom att definiera metadataalternativ som attribut för en inre Meta-klass. Till exempel:

Code
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

Obligatoriska attribut är model och antingen fields eller exclude. Alla andra Meta-attribut är valfria.

Valfria attribut, förutom localized_fields och formfield_callback, förväntar sig en ordbok som mappar ett modellfältnamn till ett värde. Alla fält som inte definieras i ordboken faller tillbaka till fältets standardvärde.

FelmeddelandenLink to this heading

ModelFormOptions.error_messagesLink to this definition

En ordlista som kopplar ett modellfältnamn till en ordlista med felmeddelandenycklar (null, blank, invalid, unique, etc.) som kopplas till anpassade felmeddelanden.

När ett fält inte anges kommer Django att använda felmeddelandena som definierats i det modellfältets django.db.models.Field.error_messages och slutligen standardfelmeddelandena för den fälttypen.

excludeLink to this heading

ModelFormOptions.excludeLink to this definition

En tupel eller lista med model fältnamn som ska uteslutas från formuläret.

Antingen fields eller exclude måste vara inställt. Om inget av dessa är inställt kommer ett ImproperlyConfigured-undantag att genereras. Om exclude är inställt och fields inte är inställt, inkluderas alla modellfält, förutom de som anges i exclude, i formuläret.

field_classesLink to this heading

ModelFormOptions.field_classesLink to this definition

En ordlista som mappar ett modellfältnamn till en Field-klass, som åsidosätter form_class som används i modellfältets Field.formfield()-metod.

När ett fält inte anges kommer Django att använda modellfältets standardfältklass.

fältLink to this heading

ModelFormOptions.fieldsLink to this definition

En tupel eller lista med model fältnamn som ska inkluderas i formuläret. Värdet ’__all__’ kan användas för att ange att alla fält ska inkluderas.

Om något fält anges i exclude kommer detta inte att inkluderas i formuläret trots att det anges i fields.

Antingen fields eller exclude måste anges. Om ingen av dem anges kommer ett ImproperlyConfigured-undantag att genereras.

formfield_callbackLink to this heading

ModelFormOptions.formfield_callbackLink to this definition

En funktion eller anropbar som tar ett modellfält och returnerar ett django.forms.Field-objekt.

help_textsLink to this heading

ModelFormOptions.help_textsLink to this definition

En ordlista som kopplar ett modellfältnamn till en hjälptextsträng.

När ett fält inte anges kommer Django att använda modellfältets help_text.

labelsLink to this heading

ModelFormOptions.labelsLink to this definition

En ordlista som mappar modellfältnamn till en etikettsträng.

När ett fält inte anges kommer Django att använda modellfältets verbose_name och sedan fältets attributnamn.

localized_fieldsLink to this heading

ModelFormOptions.localized_fieldsLink to this definition

En tupel eller lista med model fältnamn som ska lokaliseras. Värdet ’__all__’ kan användas för att ange att alla fält ska lokaliseras.

Som standard är formulärfält inte lokaliserade. Se aktivera lokalisering av fält för mer information.

modellLink to this heading

ModelFormOptions.modelLink to this definition

Obligatoriskt. Klassen django.db.models.Model som ska användas för ModelForm.

widgetsLink to this heading

ModelFormOptions.widgetsLink to this definition

En ordlista som mappar ett modellfältnamn till en django.forms.Widget.

När ett fält inte anges kommer Django att använda standardwidgetaren för den specifika typen av django.db.models.Field.

Funktioner för modellformfabrikLink to this heading

modellform_fabrikLink to this heading

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)Link to this definition

Returnerar en ModelForm-klass för den angivna modellen. Du kan valfritt skicka ett form-argument som ska användas som utgångspunkt för att konstruera ModelForm.

fields är en valfri lista med fältnamn. Om den anges kommer endast de namngivna fälten att ingå i de returnerade fälten.

exclude är en valfri lista med fältnamn. Om den anges kommer de angivna fälten att uteslutas från de returnerade fälten, även om de finns listade i argumentet fields.

formfield_callback är en callable som tar ett modellfält och returnerar ett formulärfält.

widgets är en ordbok med namn på modellfält som mappas till en widget.

localized_fields är en lista med namn på fält som ska lokaliseras.

labels är en ordbok med namn på modellfält som mappas till en etikett.

help_texts är en ordbok med namn på modellfält som mappats till en hjälptext.

error_messages är en ordbok med namn på modellfält som mappas till en ordbok med felmeddelanden.

field_classes är en ordbok med namn på modellfält som mappas till en formulärfältklass.

Se ModelForm fabriksfunktion för exempel på användning.

Du måste ange listan med fält explicit, antingen via nyckelordsargumenten fields eller exclude, eller motsvarande attribut på formulärets inre Meta-klass. Se Välja de fält som ska användas för mer information. Om du utelämnar någon definition av de fält som ska användas kommer det att resultera i ett ImproperlyConfigured undantag.

modellformset_factoryLink to this heading

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)Link to this definition

Returnerar en FormSet-klass för den angivna model-klassen.

Argumenten model, form, fields, exclude, formfield_callback, widgets, localized_fields, labels, help_texts, error_messages och field_classes skickas alla till modelform_factory().

Argumenten formset, extra, can_delete, can_order, max_num, validate_max, min_num, validate_min, absolute_max, can_delete_extra och renderer skickas till formset_factory(). Se formsets för mer information.

Argumentet edit_only gör det möjligt att förhindra att nya objekt skapas.

Se Modellformsatser för exempel på användning.

inlineformset_factoryLink to this heading

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)Link to this definition

Returnerar ett InlineFormSet med hjälp av modelformset_factory() med standardvärdena formset=BaseInlineFormSet, can_delete=True och extra=3.

Om din modell har mer än en ForeignKey till parent_model, måste du ange ett fk_name.

Se Inline-formulär för exempel på användning.