منتقل کردن مقادیر یک فیلد از یک مدل به مدل دیگر در جنگو
توضیحات:
برای انتقال مقادیر یک فیلد از یک مدل به مدل دیگر در جنگو، میتوانید از روشهای مختلفی استفاده کنید از جمله استفاده از سیگنالها یا توابع کپی.
یک روش معمول برای انتقال مقادیر فیلد از یک مدل به مدل دیگر استفاده از سیگنالها است، برای مثال فرض کنید میخواهید مقادیر فیلدی به نام field1 از یک مدل به نام Model1 را به یک مدل دیگر به نام Model2 انتقال دهید میتوانید از سیگنال post_save استفاده کنید تا هنگام ذخیره کردن یک نمونه از Model1، مقدار field1 آن را به Model2 منتقل کنید.
from django.db.models.signals import post_save
from django.dispatch import receiver
from myapp.models import Model1, Model2
@receiver(post_save, sender=Model1)
def transfer_field1(sender, instance, **kwargs):
Model2.objects.create(field1=instance.field1)
در این مثال، ما یک سیگنال post_save برای مدل Model1 تعریف کردهایم که هر زمان یک نمونه از این مدل ذخیره شود، تابع transfer_field1 فراخوانی میشود. این تابع یک نمونه از Model2 ایجاد کرده و مقدار field1 آن را برابر با مقدار field1 نمونه Model1 میکند.
به این توجه کنید که برای استفاده از سیگنالها، باید آنها را در فایل apps.py مدلهای خودتان ثبت کنید و از آنها در فایلهای مربوطه import کنید.
موفق باشید
A.J
پست های مرتبط:
فروشگاه سورسا:
سورسا ، یک خانواده!
شما میتوانید از سورس های آماده به راحتی و با کپی پیست در پروژه خود استفاده بفرمایید
بله! سورسا به عنوان اولین و برترین مرجع سورس کد های آماده، تمامی سورس کد ها در زبان های مختلف را به صورت رایگان در اختیار شما قرار میدهد.
اگر سورس مد نظر شما تفاوتی با سورس فعلی دارد یا اینکه درخواست سورس دیگری را دارید میتوانید با کارشناسان سورسا در ارتباط باشید.
سورسا به عنوان مرجع سورس در تلاش است سورس کد ها و آموزش های تمامی زبان های برنامه نویسی مانند GO C++ Python C PHP SQL JS و… را تحت پوشش قرار داد