Skip to content

Latest commit

 

History

History
96 lines (75 loc) · 2.18 KB

jobsheet-5.md

File metadata and controls

96 lines (75 loc) · 2.18 KB

Jobsheet 5

Membuat Models

Buat models Pengguna, Pengaduan dan Tanggapan. Buka file app_pengaduan/models.py.

...
from django.contrib.auth.models import User

class Pengguna(models.Model):
  pilih_level = (
    ('admin', 'admin'),
    ('petugas', 'petugas'),
    ('masyarakat', 'masyarakat'),
  )

  nik      = models.CharField(max_length=16)
  nama     = models.CharField(max_length=35)
  username = models.ForeignKey(User, on_delete=models.CASCADE)
  telp     = models.CharField(max_length=13)
  level    = models.CharField(max_length=8, choices=pilih_level)

  def __str__(self):
    return self.nama


class Pengaduan(models.Model):
  pilih_status = (
    ('pending', 'pending'),
    ('proses', 'proses'),
    ('selesai', 'selesai'),
  )

  tanggal     = models.DateField(auto_now=True)
  nik         = models.ForeignKey(Pengguna, on_delete=models.CASCADE)
  judul       = models.CharField(max_length=100)
  isi_laporan = models.TextField()
  foto        = models.ImageField(max_length=13)
  status      = models.CharField(max_length=8, choices=pilih_status)

  def __str__(self):
    return self.judul


class Tanggapan(models.Model):
  pengaduan   = models.ForeignKey(Pengaduan, on_delete=models.CASCADE)
  tanggal     = models.DateField(auto_now=True)
  tanggapan   = models.TextField()
  petugas     = models.ForeignKey(Pengguna, on_delete=models.CASCADE)

  def __str__(self):
    return self.pengaduan.judul

Buat migrasi untuk models diatas. Buka cmd.

python manage.py makemigrations
python manage.py migrate

Daftarkan Models ke Dj.Admin

Tes models yang dibuat. Buka file app_pengaduan/admin.py.

...
from app_pengaduan.models import *

admin.site.register(Pengguna)
admin.site.register(Pengaduan)
admin.site.register(Tanggapan)

Buat Super User

Buat Super User untuk login ke Django Admin.

python manage.py createsuperuser
username: admin
email: admin@pengaduan.id
password: adm12345
password (again): adm12345

Coba jalankan server.

python manage.py runserver

Buka http://127.0.0.1:8000/admin Masukkan Username dan Password yang telah dibuat sebelumnya.