Data Update
Untuk melakukan data update, pertama kita retrieve data tersebut, kemudian ubah datanya kemudian digunakan method save() untuk menyimpan perubahan ke dalam database.
Untuk demo, buka shell dengan perintah
$ python manage.py shell
>>> from boffice.models import Patient
>>> Patient.objects.get(pk=1)
<Patient: Budi Ajah, umur: 28 tahun, heartrate: 60>
>>> Budi = Patient.objects.get(pk=1)
>>> Budi
<Patient: Budi Ajah, umur: 28 tahun, heartrate: 60>
>>> Budi.last_name
'Ajah'
>>> Budi.last_name = 'Dong'
>>> Budi
<Patient: Budi Dong, umur: 28 tahun, heartrate: 60>
>>> Budi.save()
>>> Patient.objects.get(pk=1)
<Patient: Budi Dong, umur: 28 tahun, heartrate: 60>
Penjelasan Code
Pertama kita import library patient, kemudian kita baca data Patient dengan index pertama. Isinya adalah <Patient: Budi Ajah, umur: 28 tahun, heartrate: 60>
Karena kita ingin mengupdate isi database, kita buat variable Budi untuk menyimpan data. Kemudian lakukan perubahan, pada contoh perubahan dilakukan pada field last_name.
Untuk menyimpan, digunakan perintah Budi.save().
Jika kita cek isi database dengan memanggil Patient.objects.get(pk=1), dapat dilihat last_name sudah diupdate pada database.
Data Delete
Cara delete data sama seperti proses update, pertama retrieve data yang akan didelete, kemudian gunakan method delete().
Melanjutkan code diatas, kita akan hapus entry Patient nomer 2.
>>> Patient.objects.all()
<QuerySet [<Patient: Budi Dong, umur: 28 tahun, heartrate: 60>, <Patient: Iwan Dech, umur: 30 tahun, heartrate: 60>, <Patient: Wati Tiwa, umur: 21 tahun, heartrate: 60>, <Patient: Agus Elek, umur: 23 tahun, heartrate: 60>]>
>>> deletePatient = Patient.objects.get(pk=2)
>>> deletePatient
<Patient: Iwan Dech, umur: 30 tahun, heartrate: 60>
>>> deletePatient.delete()
(1, {'boffice.Patient': 1})
>>> Patient.objects.all()
<QuerySet [<Patient: Budi Dong, umur: 28 tahun, heartrate: 60>, <Patient: Wati Tiwa, umur: 21 tahun, heartrate: 60>, <Patient: Agus Elek, umur: 23 tahun, heartrate: 60>]>
Penjelasan Code
Pertama kita lihat dulu seluruh isi database. Kemudian buat variable baru (digunakan nama variable deletePatient) untuk instance Patient dengan index nomer dua. Kemudian untuk proses delete digunakan deletePatient.delete()
Jika kita periksa isi database dengan perintah Patient.objects.all(), dapat dilihat patien nomer dua, yaitu Iwan, sudah dihapus.
Sampai disini kita sudah mempelajari cara melakukan update dan delete data. Pada modul selanjutnya kita akan membahas menghubungkan models dengan template.