Bidang formulir khusus PostgreSQL dan widgetLink to this heading
Semua bidang ini dan widget tersedia dari modul django.contrib.postgres.forms.
BidangLink to this heading
SimpleArrayFieldLink to this heading
- class SimpleArrayField(base_field, delimiter=',', max_length=None, min_length=None)Link to this definition
A field which maps to an array. It is represented by an HTML
<input>.- base_fieldLink to this definition
Ini adalah sebuah argumen diwajibkan.
It specifies the underlying form field for the array. This is not used to render any HTML, but it is used to process the submitted data and validate it. For example:
>>> from django import forms >>> from django.contrib.postgres.forms import SimpleArrayField >>> class NumberListForm(forms.Form): ... numbers = SimpleArrayField(forms.IntegerField()) ... >>> form = NumberListForm({"numbers": "1,2,3"}) >>> form.is_valid() True >>> form.cleaned_data {'numbers': [1, 2, 3]} >>> form = NumberListForm({"numbers": "1,2,a"}) >>> form.is_valid() False
- delimiterLink to this definition
This is an optional argument which defaults to a comma:
,. This value is used to split the submitted data. It allows you to chainSimpleArrayFieldfor multidimensional data:>>> from django import forms >>> from django.contrib.postgres.forms import SimpleArrayField >>> class GridForm(forms.Form): ... places = SimpleArrayField(SimpleArrayField(IntegerField()), delimiter="|") ... >>> form = GridForm({"places": "1,2|2,1|4,3"}) >>> form.is_valid() True >>> form.cleaned_data {'places': [[1, 2], [2, 1], [4, 3]]}
- max_lengthLink to this definition
Ini adalah argumen pilihan yang mensahkan bahwa senaraitidak melampaui panjang yang dinyatakan.
- min_lengthLink to this definition
Ini adalah argumen pilihan yang mensahkan bahwa senarai mencapai setidaknya panjang yang dinyatakan.
SplitArrayFieldLink to this heading
- class SplitArrayField(base_field, size, remove_trailing_nulls=False)Link to this definition
Bidang ini menangani larik dengan membuat kembali bidang pokok tetap beberapa kali.
- base_fieldLink to this definition
Ini adalah argumen diwajibkan. Itu menentukan bidang formulir untuk diulang.
- sizeLink to this definition
Ini adalah nomor tetap dari berkali-kali bidang pokok akan digunakan.
- remove_trailing_nullsLink to this definition
Secara awalan, ini disetel menjadi
False. KetikaFalse, setiap nilai dari bdiang-bidang terulang disimpan. Ketika disetel menjadiTrue, nilai-nilai apapun yang membuntuti yang merupakan kosong akan dihilangkan dari hasil. Jika bidang pokok mempunyairequired=True, tetapiremove_trailing_nullsadalahTrue, kemudian nilai-nilai null hanya diijinkan pada akhir, dan akan dihilangkan.Beberapa contoh:
SplitArrayField(IntegerField(required=True), size=3, remove_trailing_nulls=False) ["1", "2", "3"] # -> [1, 2, 3] ["1", "2", ""] # -> ValidationError - third entry required. ["1", "", "3"] # -> ValidationError - second entry required. ["", "2", ""] # -> ValidationError - first and third entries required. SplitArrayField(IntegerField(required=False), size=3, remove_trailing_nulls=False) ["1", "2", "3"] # -> [1, 2, 3] ["1", "2", ""] # -> [1, 2, None] ["1", "", "3"] # -> [1, None, 3] ["", "2", ""] # -> [None, 2, None] SplitArrayField(IntegerField(required=True), size=3, remove_trailing_nulls=True) ["1", "2", "3"] # -> [1, 2, 3] ["1", "2", ""] # -> [1, 2] ["1", "", "3"] # -> ValidationError - second entry required. ["", "2", ""] # -> ValidationError - first entry required. SplitArrayField(IntegerField(required=False), size=3, remove_trailing_nulls=True) ["1", "2", "3"] # -> [1, 2, 3] ["1", "2", ""] # -> [1, 2] ["1", "", "3"] # -> [1, None, 3] ["", "2", ""] # -> [None, 2]
HStoreFieldLink to this heading
- class HStoreFieldLink to this definition
Sebuah bidang yang menerima data tersandikan JSON untuk sebuah
HStoreField. Itu melemparkan semua nilai (kecuali null) ke string. Itu diwakili oleh sebuah HTML<textarea>.
Bidang JangkauanLink to this heading
Kelompok ini dari bidang-bidang semua berbagi kegunaan yang mirip untuk menerima jangkauan data. Mereka berdasarkan pada MultiValueField. Mereka memperlakukan satu nilai dihilangkan sebagai sebuah jangkauan tidak terbatas. Mereka juga mensahkan bahwa batasan terendah tidak lebih besar dari batasan teratas. Semua bidang-bidang ini menggunakan RangeWidget.
IntegerRangeFieldLink to this heading
- class IntegerRangeFieldLink to this definition
Based on
IntegerFieldand translates its input intodjango.db.backends.postgresql.psycopg_any.NumericRange. Default forIntegerRangeFieldandBigIntegerRangeField.
DecimalRangeFieldLink to this heading
- class DecimalRangeFieldLink to this definition
Based on
DecimalFieldand translates its input intodjango.db.backends.postgresql.psycopg_any.NumericRange. Default forDecimalRangeField.
DateTimeRangeFieldLink to this heading
- class DateTimeRangeFieldLink to this definition
Based on
DateTimeFieldand translates its input intodjango.db.backends.postgresql.psycopg_any.DateTimeTZRange. Default forDateTimeRangeField.
DateRangeFieldLink to this heading
- class DateRangeFieldLink to this definition
Based on
DateFieldand translates its input intodjango.db.backends.postgresql.psycopg_any.DateRange. Default forDateRangeField.
WidgetLink to this heading
RangeWidgetLink to this heading
- class RangeWidget(base_widget, attrs=None)Link to this definition
Widget-widget digunakan oleh semua dari jenis-jenis jangkauan. Berdasarkan pada
MultiWidget.RangeWidgetmempunyai satu argumen yang diwajibkan:- base_widgetLink to this definition
Sebuah
RangeWidgetterdiri dari 2-tuple daribase_widget.
- decompress(value)Link to this definition
Takes a single "compressed" value of a field, for example a
DateRangeField, and returns a tuple representing a lower and upper bound.