در جنگو-qmethod یک برنامه جنگو برای به آسانی تعریف عملیات در مجموعه مدل های جنگو است (که شده است، QuerySets و مدیران).
یک روز، من امیدوارم که چیزی شبیه به این است که در هسته جنگو گنجانده شده است.
استفاده
استفاده اساسی به شرح زیر است:
cPickle واردات به عنوان ترشی
از مدل های واردات django.db
از djqmethod مدیر واردات، querymethod
کلاس گروه (models.Model):
& nbsp؛ از پاس
کلاس Person (models.Model):
& nbsp؛ در. جنس = DICT (M = «مرد»، F = 'زن'، U = 'نامشخص) موارد ()
& nbsp؛ در گروه = models.ForeignKey (گروه، related_name = 'مردم')
& nbsp؛ از جنس = models.CharField (MAX_LENGTH = 1، انتخاب = جنس)
& nbsp؛ در سن = models.PositiveIntegerField ()
و nbsp؛ # توجه: شما نیاز به ایجاد یک مدیر صریح و روشن در اینجا.
و nbsp؛ اشیاء = مدیر ()
را لمس کنید و.querymethod
را لمس کنید و. دف افراد زیر سن قانونی (پرس و جو):
را لمس کنید و. query.filter بازگشت (age__lt = 18)
را لمس کنید و.querymethod
را لمس کنید و. دف بزرگسالان (پرس و جو):
& nbsp؛ در query.filter بازگشت (age__gte = 18)
# `افراد زیر سن قانونی ()` `و بزرگسالان ()` روش موجود در مدیر خواهد بود:
ادعا isinstance (Person.objects.minors ()، models.query.QuerySet)
# آنها در دسترس در querysets پس از آن می شود:
ادعا isinstance (Person.objects.filter (جنس = 'M'). افراد زیر سن قانونی ()،
& nbsp؛ در models.query.QuerySet)
# آنها همچنین می خواهید در دسترس در روابط می شود، اگر آنها در به مخلوط شدند
مدیر به طور پیش فرض # برای آن مدل:
گروه = Group.objects.all () [0]
ادعا isinstance (group.people.minors ()، models.query.QuerySet)
# QuerySets تولید کاملا ترشی امن:
ادعا isinstance (pickle.loads (pickle.dumps (Person.objects.minors ()))،
& nbsp؛ در models.query.QuerySet)
پروژه آزمون در آزمون / به عنوان مثال قرار دارد /. مشورت این برای یک مثال جامع تر.
نصب
تصویر در تصویر جنگو-qmethod نصب
مورد نیاز:
پایتون
جنگو
نظر یافت نشد