شما این محصولات را انتخاب کرده اید

سبد خرید

برقرار کردن یک ارتباط یک به چند بین دو مدل در جنگو
شناسه پست: 7912
بازدید: 17

برقرار کردن یک ارتباط یک به چند بین دو مدل در جنگو

توضیحات:

در جنگو، می‌توانید ارتباط یک به چند بین دو مدل برقرار کنید با استفاده از فیلد ForeignKey یا ManyToManyField.

برای ایجاد ارتباط یک به چند، شما باید یکی از مدل‌ها را به عنوان مدل اصلی و دیگری را به عنوان مدل فرعی انتخاب کنید. به عنوان مثال، فرض کنید می‌خواهید یک ارتباط یک به چند بین مدل Author و Book بسازید. در این حالت، Author مدل اصلی و Book مدل فرعی خواهد بود.

استفاده از ForeignKey:

from django.db import models

class Author(models.Model):
    name = models.CharField(max_length=100)

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author, on_delete=models.CASCADE)

در این حالت، هر کتاب متعلق به یک نویسنده است و با استفاده از فیلد ForeignKey، ارتباط یک به چند بین Author و Book برقرار شده است.

استفاده از ManyToManyField:

from django.db import models

class Author(models.Model):
    name = models.CharField(max_length=100)

class Book(models.Model):
    title = models.CharField(max_length=100)
    authors = models.ManyToManyField(Author)

در این حالت، هر کتاب می‌تواند توسط چند نویسنده نوشته شود و با استفاده از فیلد ManyToManyField، ارتباط یک به چند بین Author و Book برقرار شده است.

بعد از تعریف ارتباط یک به چند بین دو مدل، می‌توانید از این ارتباط در کوئری‌ها و ایجاد اشیاء مدل استفاده کنید تا اطلاعات مرتبط با هم در پایگاه داده ذخیره و بازیابی شوند.

موفق باشید

A.J

پست های مرتبط:

شما می‌توانید از سورس های آماده به راحتی و با کپی پیست در پروژه خود استفاده بفرمایید

بله! سورسا به عنوان اولین و برترین مرجع سورس کد های آماده، تمامی سورس کد ها در زبان های مختلف را به صورت رایگان در اختیار شما قرار می‌دهد.

اگر سورس مد نظر شما تفاوتی با سورس فعلی دارد یا اینکه درخواست سورس دیگری را دارید می‌توانید با کارشناسان سورسا در ارتباط باشید.

سورسا به عنوان مرجع سورس در تلاش است سورس کد ها و آموزش های تمامی زبان های برنامه نویسی مانند GO C++ Python C PHP SQL JS و… را تحت پوشش قرار داد

اشتراک در
اطلاع از
guest

0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها