درود بر شما شما میتونید سوالتون رو مطرح بفرمایید تا دوستانی که جنگو بلد هستند کمکتون کنند.
ممنون. یه قالب جزئیات محصول دارم (همین عکس پایین) که میخوام مشخصات و ویژگی های محصول رو (مثل برند، وزن، ابعاد، سیستم عامل و...) نمایش بده و طبیعتا این مشخصات برای هر محصول میتونه متفاوت باشه. چطور میتونم این ساختار رو بسازم و توی این قالب نمایش بدم؟
شما باید یک جدول با عنوان attributes داشته باشید که با محصولاتتون در رابطه باشه و یک جدول با عنوان values که با attributes در رابطه باشه تا بتونید مقادیر مختلفی در نظر بگیرید
رابطه product و attributes میتونه یه رابطه چند به چند باشه برای values و attributes هم به همین شکل هست
من خودم قبلا این روش زیر رو رفتم. یه مدل Mobile و ProductProperty دارم که مدل ProductProperty با مدل Mobile یه رابطه چند به یک داره.
خود ProductProperty برای اینکه بتونم به تعداد دلخواه بهش ویژگی (برند، وزن، سیستم عامل و...) اضافه کنم، با مدل ProductPropertyTitle رابطه چند به یک ایجاد کردم.
برای ProductPropertyTitle هم برای اینکه بتونه به تعداد دلخواه value داشته باشه (مثلا برای سیستم عامل: IOS، ابعاد: 7.7 × 70.9 × 143.6 میلیمتر - 7.7 × 70.9 × 143.6 میلیمتر، 7.7 × 70.9 × 143.6 میلیمتر)، با مدل ProductPropertyValue رابطه چند به یک برقرار کردم.
الان مشکلم اینه دقیقا نمیدونم چطور میتونم از این روشی که خودم درست کردم، استفاده کنم :)
ممنون میشم کمکم کنید
کدها:
محصول:
class Mobile(models.Model):
name = models.CharField(max_length=70)
description = models.TextField(null=True)
price = models.CharField(max_length=100)
slug = models.SlugField(blank=True, unique=True)
بقیه مدل ها:
from mobile_product.models import Mobile
class ProductProperty(models.Model):
title = models.CharField(max_length=50)
mobile = models.ForeignKey(Mobile, on_delete=models.CASCADE, null=True, blank=True)
class ProductPropertyTitle(models.Model):
product_property_title = models.CharField(max_length=70)
product_property = models.ForeignKey(ProductProperty, on_delete=models.CASCADE, null=True, blank=True)
class ProductPropertyValue(models.Model):
product_property_value = models.CharField(max_length=100)
product_property_title = models.ForeignKey(ProductPropertyTitle, on_delete=models.CASCADE, null=True, blank=True)
از چیزی که پیاده کردید باید از رابطه موبایل (یعنی برگشت یک موبایل) شروع بفرمایید و بهش برسید
رابطه بین mobile و ProductProperty به نظرم نباید یک رابطه یک به چند باشه
چون ممکنه شما برای چند موبایل بخواید یک مقدار یکسان رو قرار بدید اونوقت چی !؟
سلام یه کار دیگه هم میشه
چون از قبل معلوم نیست جزئیات چی هستن باید مث دیتا بیس های Nosql عمل کنیم
یعنی شما یه فیلد داشته باشی که توش جزئیات رو به صورت json ذخیره کنی
اینم کار جالبی می شه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟