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:

Code
>>> 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 mengikat SimpleArrayField untuk data multi dimensi:

Code
>>> 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. Ketika False, setiap nilai dari bdiang-bidang terulang disimpan. Ketika disetel menjadi True, nilai-nilai apapun yang membuntuti yang merupakan kosong akan dihilangkan dari hasil. Jika bidang pokok mempunyai required=True, tetapi remove_trailing_nulls adalah True, kemudian nilai-nilai null hanya diijinkan pada akhir, dan akan dihilangkan.

Beberapa contoh:

Code
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 IntegerField dan merubah masukannya menjadi NumericRange. Awalan untuk IntegerRangeField dan BigIntegerRangeField.

DecimalRangeFieldLink to this heading

class DecimalRangeFieldLink to this definition

Berdasarkan pada DecimalField dan terjemahkan masukannya kedalam NumericRange. Awalan untuk DecimalRangeField.

DateTimeRangeFieldLink to this heading

class DateTimeRangeFieldLink to this definition

Berdasarkan pada DateTimeField dan menterjemahkan masukannya menjadi DateTimeTZRange. Awalan untuk DateTimeRangeField.

DateRangeFieldLink to this heading

class DateRangeFieldLink to this definition

Berdasarkan pada DateField dan merubah masukannya menjadi DateRange. Awalan untuk DateRangeField.

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.

RangeWidget mempunyai satu argumen yang diwajibkan:

base_widgetLink to this definition

Sebuah RangeWidget terdiri dari 2-tuple dari base_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.