8- جنگو در یک نگاه (API برای مدل):

۱۸ بهمن ۱۴۰۳
0 دیدگاه

پس از ایجاد مدل دو راه برای اضافه کردن اطلاعات به آن وجود دارد یک راه استفاده از صفحه‌ی ادمین که در جلسه‌های بعدی به آن می‌پردازیم و اما راه دوم استفاده از API آماده‌ی مدل است.

بخش جنگو در یک نگاه برای یادگیری عمیق و تسلط بر روی مباحث مطرح شده نیست بلکه برای آشنایی اولیه با قابلیت‌های جنگو است.

یکی از ویژگی‌های جذاب جنگو (Django) این است که یک API قدرتمند برای دسترسی به داده‌های پایگاه داده فراهم می‌کند. این API به‌صورت خودکار ایجاد می‌شود و نیازی به تولید کد اضافی ندارد. در این مقاله، با استفاده از یک مثال ساده، نحوه کار با این API را توضیح می‌دهیم.

ابتدا پروژه را اجرا کنید سپس برای کار با api باید از Django Shell استفاده کنید. برای این کار در ترمینال دستور زیر را بنویسید : (اگر از vs code  استفاده می کنیدقبل از استفاده از ترمینال محیط مجازی را فعال کنید. این نکته از این به بعد تکرار نخواهد شد.)

				
					python manage.py shell
				
			

حالا می‌توانید دستورات API را مستقیماً وارد کنید،

1. وارد کردن مدل‌ها

ابتدا باید مدل‌هایی که قبلاً در اپلیکیشن خود تعریف کرده‌ایم را وارد کنیم:

 

				
					from news.models import Article, Reporter
				
			
 

2. بررسی داده‌های موجود

در ابتدا، هیچ خبرنگاری در سیستم ثبت نشده است:

				
					Reporter.objects.all()
				
			

3. ایجاد یک شیء جدید

برای ایجاد یک خبرنگار جدید:

				
					r = Reporter(full_name="John Smith")
r.save()  
				
			

بعد از ذخیره، می‌توانیم شناسه (ID) آن را مشاهده کنیم:

				
					r.id  
				
			

4. دسترسی به داده‌های ذخیره‌شده

اکنون خبرنگار جدید در پایگاه داده موجود است:

				
					Reporter.objects.all()
				
			

 

می‌توانیم به فیلدهای آن دسترسی پیدا کنیم:

 

				
					r.full_name
				
			

 

 

5. جستجو در پایگاه داده

جنگو امکانات جستجوی پیشرفته‌ای را فراهم می‌کند:

 

				
					Reporter.objects.get(id=1)  # جستجو بر اساس شناسه
Reporter.objects.get(full_name__startswith="John")  # شروع نام با "John"
Reporter.objects.get(full_name__contains="mith")  # شامل "mith" در نام
				
			

در صورتی که داده‌ای پیدا نشود:

 

				
					Reporter.objects.get(id=2)
# خطا: DoesNotExist
				
			

و برای حذف داده‌ها:

 

				
					r.delete()
				
			

نتیجه‌گیری

API مدیریت داده در جنگو بسیار ساده و قدرتمند است. با استفاده از آن می‌توانید به راحتی عملیات CRUD (ایجاد، خواندن، به‌روزرسانی و حذف) را انجام دهید و داده‌های خود را به صورت کارآمد مدیریت کنید.

0 دیدگاه