Django

Penggunaan nilai default NULL dalam Model Django

Penggunaan nilai default NULL dalam Model Django
Model adalah salah satu bagian penting dari aplikasi Django berbasis database. Model mendefinisikan struktur database. Tipe data tabel database dan cara memasukkan data berdasarkan atribut yang berbeda dijelaskan dalam Model. Validasi data dapat dikontrol dengan menggunakan model juga. Setiap tabel dalam database berisi sejumlah bidang atau kolom tertentu. Model mendefinisikan jenis setiap bidang tabel. Atribut default digunakan dalam model untuk menetapkan nilai default untuk area tertentu jika pengguna untuk bidang tersebut tidak memasukkan data. Nilai default suatu bidang dapat berupa kosong atau nilai spesifik apa pun. Itu batal dan kosong nilainya tidak sama. batal digunakan untuk menentukan bahwa nilai kosong diperbolehkan atau tidak untuk bidang tertentu. jika batal diatur ke Salah, maka string kosong tidak akan diizinkan di bidang bertipe integer, tetapi string kosong dapat ditetapkan di bidang bertipe string. jika batal diatur ke Benar, maka nilai NULL akan diberikan di bidang bertipe integer sebagai ganti string kosong. kosongk digunakan untuk validasi formulir terutama dan tidak memeriksa tipe data bidang. Cara menggunakan default dan batal atribut dalam model Django telah ditunjukkan dalam tutorial ini.

Prasyarat:

Sebelum mempraktikkan skrip tutorial ini, Anda harus menyelesaikan tugas-tugas berikut:.

SEBUAH. Instal Django versi 3+ di Ubuntu 20+ (lebih disukai)
B. Buat proyek Django
C. Jalankan server Django untuk memeriksa server bekerja dengan benar atau tidak.

Siapkan aplikasi Django:

SEBUAH. Jalankan perintah berikut untuk membuat aplikasi Django bernama aplikasi basis data.

$ python3 kelola.py startapp databaseapp

B. Jalankan perintah berikut untuk membuat pengguna untuk mengakses database Django. Jika Anda telah menyelesaikan pengguna sebelumnya, maka Anda tidak perlu menjalankan perintah.

$ python3 kelola.py buat pengguna super

C. Tambahkan nama aplikasi di INSTALLED_APP bagian dari pengaturan.file py.

INSTALLED_APPS = [

'validasi aplikasi'
]

D. Buat folder bernama template di dalam aplikasi basis data folder dan atur template lokasi aplikasi di TEMPLATE bagian dari pengaturan.py mengajukan.

TEMPLATE = [

… .
'DIRS': ['/home/fahmida/django_pro/databaseapp/templates'],
… .
,
]

Model desain dengan atribut default dan null:

Ubah model.py file dengan skrip berikut untuk membuat tabel bernama produk yang akan berisi empat bidang tanpa bidang id. Ini nama, harga, tanggal_produksi, dan tanggal_kedaluwarsa. Nilai dari batal atribut disetel ke True untuk semua bidang. Nilai dari yang kosong atribut diatur ke True untuk semua bidang juga. Ini berarti pengguna dapat mengosongkan bidang sebelum mengirimkan formulir yang akan menggunakan model ini. Itu default nilai atribut ditetapkan untuk harga, tanggal_produksi, dan tanggal_kedaluwarsa.

model.py

# Modul model impor
dari django.model impor db
# Buat kelas untuk menentukan struktur tabel Guru
Produk kelas (model).Model):
nama = model.CharField(max_length=50, null=Benar, kosong=Benar)
harga = model.IntegerField(null=Benar, default=", kosong=Benar)
tanggal_manufaktur = model.DateField(null=Benar, default='0000-00-00', kosong=Benar)
tanggal_kedaluwarsa = model.DateField(null=Benar, default='0000-00-00', kosong=Benar)

Jalankan perintah migrasi berikut untuk membuat file migrasi yang diperlukan dan tabel database database SQLite.

$ python3 kelola.py makemigrations databaseapp
$ python3 kelola.py bermigrasi

Penyisipan data menggunakan Dasbor Administrasi Django:

Ubah konten dari admin.py file dengan skrip berikut untuk mendaftarkan model dalam database.

admin.py
Ubah url.py file dengan skrip berikut untuk menentukan jalur untuk membuka Dasbor Administratif Django.

url.py

# Impor modul admin
dari django.kontribusi impor admin
# Modul jalur impor
dari django.jalur impor url
# Tentukan jalur untuk pelanggan dan admin
pola url = [
jalur('admin/', admin.situs.url)
]

Sekarang, jalankan server Django dan pergi ke Dasbor Administratif Django dengan menggunakan URL berikut.

http://localhist:8000/admin

buka formulir entri produk dengan mengklik Tambahkan produk. Jika pengguna mengirimkan formulir tanpa memasukkan data, maka output berikut akan muncul di browser:. Di sini, dua bidang tanggal menunjukkan kesalahan karena nilai default bidang tanggal tidak dalam format yang valid.

Output berikut akan muncul setelah menambahkan data tanggal yang valid. Di sini, harga bidang kosong untuk menggunakan atribut default.

Penyisipan data menggunakan template:

Cara memasukkan data ke dalam produk tabel menggunakan formulir HTML telah ditampilkan di bagian ini. Di sini, elemen formulir akan dihasilkan berdasarkan model yang dibuat sebelumnya.

formulir.py

# Modul formulir impor
dari formulir impor Django
# Impor model Pelanggan
dari dbapp.model impor Produk
# Tentukan kelas untuk formulir pelanggan
kelas ProductForm(formulir.ModelForm):
kelas Meta:
model = Produk
bidang = '__semua__'

Buat file HTML bernama produk.html di dalam template folder aplikasi dengan skrip berikut. Data formulir akan dikirimkan ketika pengguna mengklik tombol Menyimpan tombol.

produk.html

Formulir Masuk Pelanggan Customer



% csrf_token %
untuk m.as_p

Ubah dilihat.py file dengan skrip berikut untuk memasukkan data ke dalam produk tabel setelah memvalidasi formulir. TambahkanProduk() fungsi didefinisikan dalam skrip untuk memeriksa formulir dikirim atau tidak, dan jika formulir dikirimkan, maka itu akan memeriksa apakah data formulir valid atau tidak valid. Jika adalah benar() fungsi kembali benar, maka data tersebut akan dimasukkan ke dalam produk tabel, dan pesan sukses akan ditampilkan di browser.

dilihat.py

# Impor modul HttpResponse
dari django.http.tanggapan impor HttpResponse
# Impor modul render
dari django.pintasan impor render
# Impor ProdukForm
dari dbapp.formulir impor ProductForm
# Tentukan fungsi untuk menambahkan entri produk
def AddProduct(permintaan):
jika permintaan.metode == "POST":
form = ProductForm(permintaan.POS)
# Jika data formulir valid atau tidak
jika bentuk.adalah benar():
mencoba:
# Simpan data formulir ke dalam database
untuk m.menyimpan()
# Tentukan pesan untuk pengguna
data = ['

Produk ditambahkan.

']
# Kembalikan tanggapan
kembali HttpResponse(data)
kecuali:
lulus
lain:
# Tentukan objek formulir
bentuk = ProdukForm()
# Tunjukkan formulir entri produk
mengembalikan render(permintaan, 'produk.html', 'form': formulir)

Ubah url.py file dengan skrip berikut untuk menentukan jalur untuk memanggil fungsi tampilan.

url.py

# Impor modul admin
dari django.kontribusi impor admin
# Modul jalur impor
dari django.jalur impor url
# Impor tampilan
dari tampilan impor dbapp
# Tentukan jalur untuk pelanggan dan admin
pola url = [
jalur(", tampilan.TambahkanProduk),
jalur('admin/', admin.situs.url)
]

Sekarang, jalankan server Django dan buka URL dasar di browser.

http://localhist:8000/

Akan muncul form berikut.

Pengikut NilaiError akan muncul jika pengguna mengirimkan formulir tanpa menambahkan data apa pun di formulir. Di sini, harga field adalah bilangan bulat yang tidak boleh berupa string kosong.

Jika pengguna memasukkan data yang valid seperti formulir di bawah ini dan menekan tombol Menyimpan tombol, catatan produk baru akan dimasukkan ke dalam database.

Gambar berikut akan muncul jika anda membuka catatan yang baru dimasukkan dari Dasbor Django.

Kesimpulan:

Sebuah model telah dirancang dengan menggunakan atribut null, dan default dalam tutorial ini. Selanjutnya, cara-cara menyisipkan data dalam bidang-bidang ini di back-end dan front-end telah diperlihatkan di sini untuk membantu pembaca mengetahui penggunaan atribut default dan null dalam database Django.

Trackpad dan Mouse Pointer di Layar AppyMouse untuk Tablet Windows
Pengguna tablet sering melewatkan penunjuk mouse, terutama ketika mereka terbiasa menggunakan laptop. Layar sentuh Smartphone dan tablet hadir dengan ...
Tombol tengah mouse tidak berfungsi di Windows 10
Itu tombol tengah mouse membantu Anda menelusuri halaman web dan layar yang panjang dengan banyak data. Jika itu berhenti, Anda akhirnya akan mengguna...
Cara Mengganti Tombol Kiri & Kanan Mouse di PC Windows 10
Sudah menjadi hal biasa bahwa semua perangkat mouse komputer dirancang secara ergonomis untuk pengguna yang tidak kidal. Tetapi ada perangkat mouse ya...