آموزش بروزرسانی داده‌ها در جانگو

django update data
20 آبان 1403

جانگو یکی از محبوب‌ترین فریمورک‌های توسعه وب در پایتون است و به دلیل سادگی و ساختارمند بودن، مورد توجه بسیاری از برنامه‌نویسان قرار گرفته است. یکی از وظایف رایجی که در برنامه‌های وب باید انجام شود، بروزرسانی داده‌های موجود است. در جانگو، این کار با استفاده از ORM (Object Relational Mapping) انجام می‌شود که کار با پایگاه داده را بسیار آسان می‌کند.

اولین مرحله برای بروزرسانی داده‌ها در جانگو، شناسایی شیء مورد نظر است. به طور معمول، این کار با استفاده از فیلتر کردن مدل‌های موجود انجام می‌شود. سپس، مقادیر جدید را به ویژگی‌های این شیء اختصاص می‌دهید و در نهایت تغییرات را در پایگاه داده ذخیره می‌کنید.

در اینجا به یک مثال ساده از نحوه بروزرسانی داده‌ها در یک مدل جانگو خواهیم پرداخت. فرض کنید یک مدل به نام User دارید که اطلاعات کاربران را ذخیره می‌کند و می‌خواهیم ایمیل یک کاربر خاص را تغییر دهیم.

برای شروع، می‌توانید شیء کاربر مورد نظر را بر اساس برخی از فیلترها (مانند شناسه کاربر) انتخاب کنید. سپس مقدار ویژگی‌ مورد نظر را تغییر داده و با فراخوانی متد save()، تغییرات را ذخیره کنید. این روند ساده و کارا است و به شما امکان اعمال تغییرات بدون نیاز به نوشتن کدهای SQL پیچیده را می‌دهد.

حال، به مثالی در قالب کد نگاه کنیم تا چگونگی بروزرسانی داده‌ها در جانگو را بهتر درک کنیم.


from myapp.models import User

# فرض کنید می‌خواهیم ایمیل یک کاربر را به‌روزرسانی کنیم

# مرحله 1: شناسایی کاربر با شناسه خاص
user = User.objects.get(id=1)

# مرحله 2: بروزرسانی ایمیل کاربر
user.email = "[email protected]"

# مرحله 3: ذخیره تغییرات در پایگاه داده
user.save()

توضیح خط به خط کد

from myapp.models import User
این خط فرض می‌کند که مدل کاربری به نام User در برنامه شما وجود دارد و آن را به برنامه وارد می‌کند.
# فرض کنید می‌خواهیم ایمیل یک کاربر را به‌روزرسانی کنیم
این یک نظر (کامنت) برای توضیح هدف مثال کد است.
user = User.objects.get(id=1)
این خط یک شیء کاربر را از پایگاه داده با استفاده از id آن(1) بازیابی می‌کند.
user.email = "[email protected]"
این خط مقدار ویژگی email را برای شیء کاربر به مقدار جدید "[email protected]" تغییر می‌دهد.
user.save()
این خط تغییرات جدید را در پایگاه داده ذخیره می‌کند.

سوالات متداول

؟

چگونه می‌توانیم یک شی‌ء در جانگو را بروز کنیم؟

؟

آیا می‌توان چندین شیء را به صورت همزمان بروزرسانی کرد؟