Jika di tutorial sebelumnya kita sudah belajar bagaimana caranya membuat base html di django framework.
Di tutorial ini kita akan belajar tentang Django Model dan juga cara membuat koneksi ke database Mysql.
A) Persiapkan Library
Untuk bisa terkoneksi ke database MySQL, install terlebih dahulu librari mysqlclient
pip install mysqlclient
B) Konfigurasi Database
Buat terlebih dahulu database di Mysql dengan nama ewallet, kemudian update code berikut yang ada di file settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'ewallet',
'USER': 'admin',
'PASSWORD': 'admin',
'HOST': 'localhost',
'PORT': '3306',
},
}
C) Django Model
Perhatikan tabel relasional diagram dibawah ini :
ewallet diagram // source of halovina
Dari class diagram diatas kita akan membuat app balance, ledger dan account. Untuk membuat app gunakan perintah berikut:
python manage.py startapp <nama_app>
Dari setiap app yang telah dibuat akan terbentuk sebuah file dengan nama models.py, di file inilah semua konfigurasi tabel ditempatkan.
Perhatikan format class models berikut ini :
from django.db import models
class ClassName(models.Model):
field_name = models.<data-type>
..... ..... ....
class Meta:
db_table = 'table-name'
Setelah semua model dibuat, jalankan perintah berikut
python manage.py makemigrations
python manage.py migrate
Jika semuanya sukses di database ewallet akan terbentuk 3 buah table seperti relational diagram diatas.
D) Video Tutorial
github : https://github.com/halovina/e-wallet/tree/django-model-n-db-connection
Baca artikel lainya:
- Mini Wallet Bagian 1 - Django Template dan Static File
- Mini Wallet Bagian 2 - Django Template Base HTML
- Tutorial bassic Mysql bagian 1 - Create Read Update Delete
- Tutorial bassic Mysql bagian 2 - Inner, Left, Right, Cross Join
- Tutorial bassic Mysql bagian 3 - Filtering Data
- Tutorial bassic Mysql bagian 4 - Grouping Data
- Tutorial bassic Mysql bagian 5 - Operator dan Clausa
- Tutorial bassic Mysql bagian 6 - Replace Statement
- Tutorial bassic Mysql bagian 7 - Constraint Data
- Tutorial bassic Mysql bagian 8 - Mengubah Struktur tabel
- Tutorial bassic Mysql bagian 9 - Subquery
- Tutorial bassic Mysql bagian 10 - Virtual Tabel
- Tutorial bassic Mysql bagian 11 - Control Flow Function
- Membuat service OTP bagian 1 - OTP dan PIN
- Membuat service OTP bagian 2 - Sequence Diagram
- Membuat service OTP bagian 3 - Model dan Serializer
- Membuat service OTP bagian 4 - Validate OTP
- Membuat service OTP bagian 5 - Api Client Service
- Membuat service user login bagian 1 - Konfigurasi Database
- Membuat service user login bagian 2 - Serializer dan JWT
- Membuat CRUD service product bagian 1 - Models Product
- Membuat CRUD service product bagian 2 - Function Serializer
- Membuat CRUD service product bagian 3 - Api Client Service
- Membaut CRUD service product bagian 4 - Auth User
- Membuat CRUD service product bagian 5 - TDR File Log
- Membuat CRUD service product bagian 6 - Unit Test
- Membuat service user register bagian 1 - Django
- Membuat Service user register bagian 2 - Django
- Membuat service filter dan download file CSV di django
- Django upload file menggunakan FileSystemStorage