Lenovo LOQ Gaming 15IRX9 Intel Core i5Lenovo LOQ 15IRX9 83DV00A8ID - CI5-13450HX/12GB/512GB/RTX3050 6GB/15.6 FHD IPS/WIN11+OHS2021/LUNA GREY - FREE GIFT - MOUSE - BACKPACK - PERFORMANCE - Processor : Intel® Core™ i5-13450HX, 10C (6P + 4E) / 16T, P-core 2.4 / 4.6GHz, E-core 1.8 / 3.4GHz, 20MB Free Klik Disini ! |
Pada tutorial sebelumnya kita sudah membuat service user login, di tutorial ini kita akan belajar bagaimana caranya membuat models untuk service produk yang nantinya service produk akan dapat diakses oleh user yang memiliki token yang valid.
python manage.py startapp product
from django.db import models
from django.utils import timezone# Create your models here.
class CreateUpdate(models.Model):
created_date = models.DateTimeField(blank=True, null=True)
update_date = models.DateTimeField(blank=True, null=True)def save(self, *args, **kwargs):
if not self.created_date:
self.created_date = timezone.now()self.update_date = timezone.now()
super().save(*args, **kwargs)class Meta:
abstract = True
class Product(CreateUpdate):
class ProductStatus(models.TextChoices):
PUBLISH = 'PUBLISH', "PUBLISH"
PENDING = 'PENDING', "PENDING"
name = models.CharField(max_length=255)
proice = models.IntegerField()
status = models.CharField(
max_length=15,
choices=ProductStatus.choices,
default=ProductStatus.PENDING
)
class Meta:
db_table = 'product'
Jika dilihat kode diatas terdiri dari dua class models, class CreateUpdate dan class Product. Saat class product di eksekusi secara otomatis akan terbentuk dua field dengan tipe date time.
python manage.py makemigrations
Selanjutnya Anda perlu menjalakan perintah berikut yang akan memerintahkan django framewrok menjalankan class abstraksi yang sudah Anda buat tadi.
python manage.py migrate
Github : https://github.com/halovina/hvsuserservice/tree/product-bagian-1
Video :