Mesusjk
3 سال پیش توسط Mesusjk مطرح شد
6 پاسخ

افراد متخصص در جنگو

سلام دوستان. وقتتون بخیر. من یه سوال تقریبا حرفه ای توی زمینه جنگو دارم. کسی یا انجمنی یا هر چیزی میشناسین تا من بتونم سوالم رو ازش بپرسم؟


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 3 سال پیش مطرح شد
1

درود بر شما شما میتونید سوالتون رو مطرح بفرمایید تا دوستانی که جنگو بلد هستند کمکتون کنند.


Mesusjk
تخصص : برنامه نویس جنگو و پایتون
@Mesusjk 3 سال پیش مطرح شد
0

ممنون. یه قالب جزئیات محصول دارم (همین عکس پایین) که میخوام مشخصات و ویژگی های محصول رو (مثل برند، وزن، ابعاد، سیستم عامل و...) نمایش بده و طبیعتا این مشخصات برای هر محصول میتونه متفاوت باشه. چطور میتونم این ساختار رو بسازم و توی این قالب نمایش بدم؟
توضیح تصویر رو وارد کنید


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 3 سال پیش مطرح شد
0

شما باید یک جدول با عنوان attributes داشته باشید که با محصولاتتون در رابطه باشه و یک جدول با عنوان values که با attributes در رابطه باشه تا بتونید مقادیر مختلفی در نظر بگیرید
رابطه product و attributes میتونه یه رابطه چند به چند باشه برای values و attributes هم به همین شکل هست


Mesusjk
تخصص : برنامه نویس جنگو و پایتون
@Mesusjk 3 سال پیش مطرح شد
0

من خودم قبلا این روش زیر رو رفتم. یه مدل 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)

حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 3 سال پیش مطرح شد
1

از چیزی که پیاده کردید باید از رابطه موبایل (یعنی برگشت یک موبایل) شروع بفرمایید و بهش برسید
رابطه بین mobile و ProductProperty به نظرم نباید یک رابطه یک به چند باشه
چون ممکنه شما برای چند موبایل بخواید یک مقدار یکسان رو قرار بدید اونوقت چی !؟


عرفان
تخصص : Python
@erf 3 سال پیش مطرح شد
0

سلام یه کار دیگه هم میشه
چون از قبل معلوم نیست جزئیات چی هستن باید مث دیتا بیس های Nosql عمل کنیم
یعنی شما یه فیلد داشته باشی که توش جزئیات رو به صورت json ذخیره کنی
اینم کار جالبی می شه


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام