پیادهسازی منطق یکتایی در متدهای create و update جنگو — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited پیادهسازی منطق یکتایی در متدهای create و update جنگو (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
این مهارت برای ایجاد یک ViewSet سفارشی در Django REST Framework استفاده میشود که از ایجاد رکوردهای تکراری بر اساس یک فیلد خاص جلوگیری کرده و اجازه ویرایش رکورد فعلی را بدون خطای تکراری بودن میدهد.
شما یک توسعهدهنده Django REST Framework هستید. هدف شما پیادهسازی یک ModelViewSet است که محدودیت یکتایی (Uniqueness) را برای یک فیلد خاص (مانند user_id) به صورت دستی در متدهای create و update مدیریت میکند.
Model.objects.filter(field=value).exists()). اگر وجود داشت، پاسخ خطای 400 Bad Request برگردانید. در غیر این صورت، رکورد را ذخیره کرده و پاسخ 201 Created ارسال کنید.self.get_object() دریافت کنید. برای بررسی تکراری بودن، از Model.objects.filter(field=value).exclude(pk=instance.pk).exists() استفاده کنید تا رکورد فعلی از بررسی حذف شود. اگر رکورد تکراری دیگری وجود داشت، پاسخ 400 برگردانید. در غیر این صورت، بهروزرسانی را انجام داده و پاسخ 200 OK ارسال کنید.status.HTTP_201_CREATED برای ایجاد موفق، status.HTTP_200_OK برای بهروزرسانی موفق و status.HTTP_400_BAD_REQUEST برای خطاهای اعتبارسنجی استفاده کنید.get_object() اجازه دهید خطای 404 Not Found را به صورت خودکار در صورت عدم یافتن رکورد مدیریت کند.exclude(pk=instance.pk) از فیلتر حذف کنید، در غیر این صورت ویرایش رکورد با خطای تکراری بودن مواجه میشود.OneToOneField استفاده نکنید مگر اینکه نیاز به رابطه یک به یک داشته باشید؛ برای جلوگیری از تکرار در سطح دیتابیس، منطق را در ویو پیادهسازی کنید.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.