آموزش هایی برای پایتون ، جنگو و توسعه ی وب اپلیکیشن

نویسنده : آرش ارزنده نیا

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

Query گرفتن در جنگو


 فارغ از اینکه از چه نوع پایگاه داده ای استفاده میکنید ، شما میتوانید در جنگو اقدام به ساخت ، بازیابی ، به روز رسانی و یا حذف دادههای خود بکنید

بله درست خواندید فارغ از نوع پایگاه داده … همانطور که میدانید در هر زبانی نحوه انجام این دستورات متفاوت میباشد اما در جنگو خلاف این است . این یکی از قدرتمند ترنن مشخصات جنگو برای توسعه دهندگان می باشد.

حالا برای اینکه بهتر متوجه داستان شوید به سراغ مثال عملی میرویم که خود من کشته مرده همچین مثال هایی هستم.

حال فرض کنید یک مدل به نام Student داریم:

class Student (models.Model):
    FirstName = models.CharField(max_length = 200)
    LastName = models.CharField(max_length = 200)

و ۴ دانش آموز را از روی این مدل ساخته ایم ، حال میخواهیم لیست تمام این چهار دانش آموز را از داخل پایگاه داده خود فراخوانی کنیم ، برای اینکار به راحتی از دستور زیر استفاده میکنیم.

Students = Student.objects.all()

این دستور معادل دستور SQL زیر می باشد

SELECT * FROM Student

حال فرض کنید میخواهیم دانش آموزی را که اسم آن john میباشد را فراخوانی کنیم

this_student = Student.objects.get(name = 'john')

دستور بالا ‌object دانش آموزی که نام آن john می باشد را به ما بر میگرداند ، اما مشکل اینجاست که اگر دانش آموزی با این نام وجود نداشته باشد دستور بالا با خطا مواجه میشود و اجازه ی ادامه ی برنامه را به ما نمی دهد ، برای حل این مشکل راه های متعددی وجود دارد اما یکی از ساده ترین راهکار های آن استفاده از کد زیر می باشد

this_student = Student.objects.filter(name = 'john')

دستور بالا به ما به جای object یک queryset بر میگرداند

علاوه بر تفاوت بالا یک تفاوت عمده دیگر آن با دستور get در این است که اگر ما چند دانش آموز با این نام داشته باشیم queryset تمامی آنها را به ما به صورت iterative بر میگرداند


; Admin Django Password Shell django filter form get python query required جنگو فرم پایتون

نظرات شما :