سلام خسته نباشید . برای یه سایت فروشگاهیی که کلاس دسته بندی و مثلا برند داره موقع ساخت مدل سریالایزر چجوری باید اون کلاس هارو بهش بفهمونیم ؟؟ این مدلیه که ساختم
from django.db import models
from django.shortcuts import redirect,reverse
from django.utils import timezone
from datetime import datetime
from django.utils.text import slugify
class productCategory(models.Model):
title = models.CharField(max_length=30)
url_title = models.CharField(max_length=30)
is_active = models.BooleanField(default=False)
def __str__(self):
return self.url_title
class productBrand(models.Model):
title = models.CharField(max_length=20)
is_active = models.BooleanField(default=False)
def __str__(self):
return self.title
class product(models.Model):
title = models.CharField(max_length=100, verbose_name="عنوان", db_index=True)
price = models.IntegerField(verbose_name="قیمت")
image = models.ImageField(upload_to="images", verbose_name="عکس", null=True, blank=True)
category = models.ManyToManyField(productCategory,
related_name="category", verbose_name="دسته بندی",db_index=True)
brand = models.ForeignKey(productBrand, on_delete=models.CASCADE,
blank=True, null=True,verbose_name="برند")
short_description = models.CharField(max_length=300, verbose_name="توضیحات کوتاه", db_index=True)
description = models.TextField(verbose_name="توضیحات اصلی")
special_property = models.CharField(max_length=100,verbose_name="ویژگی های خاص")
color = models.CharField(max_length=30)
is_active = models.BooleanField(default=False)
is_delete = models.BooleanField()
time_published = models.DateTimeField(default=datetime.now, verbose_name="زمان انتشار")
slug = models.SlugField(default="", null=False, unique=True, db_index=True, verbose_name="اسلاگ")
def __str__(self):
return self.title
def save(self,*args,**kwargs):
self.slug = slugify(self.title)
super().save(*args,**kwargs)
def get_absolute_url(self):
return reverse("detail-page" ,args=[self.slug])