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.
Itu menentukan bidang formulir pokok untuk larik. Ini tidak digunakan untuk membangun HTML apapun, tetapi itu digunakan untuk mengolah data terajukan dan mensahkan itu. Sebagai contoh:
>>> 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
Ini adalah sebuah argumen pilihan yang awalan pada koma:
,. Nilai ini digunakan untuk memisahkan data terajukan. Itu mengizinkan anda mengikatSimpleArrayFielduntuk data multi dimensi:>>> 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>.
JSONFieldLink to this heading
- class JSONFieldLink to this definition
A field which accepts JSON encoded data for a
JSONField. It is represented by an 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
Berdasarkan pada
IntegerFielddan merubah masukannya menjadiNumericRange. Awalan untukIntegerRangeFielddanBigIntegerRangeField.
DecimalRangeFieldLink to this heading
- class DecimalRangeFieldLink to this definition
Berdasarkan pada
DecimalFielddan terjemahkan masukannya kedalamNumericRange. Awalan untukDecimalRangeField.
DateTimeRangeFieldLink to this heading
- class DateTimeRangeFieldLink to this definition
Berdasarkan pada
DateTimeFielddan menterjemahkan masukannya menjadiDateTimeTZRange. Awalan untukDateTimeRangeField.
DateRangeFieldLink to this heading
- class DateRangeFieldLink to this definition
Berdasarkan pada
DateFielddan merubah masukannya menjadiDateRange. Awalan untukDateRangeField.
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.