پرش به محتویات

بررسی‌های سیستمی

بررسی‌های سیستمی Django موقع بالا آمدن پروژه اجرا می‌شوند - runserver، migrate، check - و چیزی را که نمی‌تواند کار کند، پیش از آنکه کسی پیدایش کند، رد می‌کنند. هر کدام یک خطاست: پروژه تا وقتی درست نشود بالا نمی‌آید.

python manage.py check
شناسه کی
clearance.E001 ACCESS خوانده نمی‌شود، بخشی دارد که هیچ اپ نصب‌شده‌ای نمی‌خواند، یا چیزی ناممکن می‌گوید - مجوزی که به شکل app_label.codename نیست، مدلی که نصب نیست، فیلد یا مقدار یک اکشن وضعیت که مدلش ندارد
clearance.E002 scopes یک ScopedQuerySet با متدهای scope_<x> آن نمی‌خواند، یا default_scope آن پیشنهاد نشده
clearance.E003 یک view در DRF که از policy مدل می‌پرسد، مدل را بدون کنار گذاشتن فیلدهای محافظت‌شده‌اش serialize می‌کند
clearance.E006 ClearanceBackend در AUTHENTICATION_BACKENDS نیست
clearance.E007 ModelBackend، یا backendی ساخته‌شده روی آن و نه روی backend کتابخانه، کنار ClearanceBackend است - هر مجوزِ گرفته‌شده را پس می‌داد
clearance.E008 clearance.roles یا clearance.translations بدون 'clearance'، یا قبل از آن، نصب شده
clearance.E009 یک view با PolicyRequiredMixin، یا viewی در DRF که policy از آن محافظت می‌کند، نمی‌تواند از policyای بپرسد
clearance.E010 ROLE_RESOLVER یا ROLE_ATTRIBUTE قابل استفاده نیست
clearance.E011 CLEARANCE دیکشنری نیست، کلیدی دارد که کتابخانه نمی‌شناسد، یا مقداری که نمی‌تواند به کار ببرد
clearance.E012 فیلدی که در کد محافظت شده فیلد مدلش نیست، یا نمی‌شود از آن محافظت کرد - کلید اصلی، رمز عبور، رابطه‌ای از مدل دیگر - یا مجوزش مال مدل دیگری هم هست
clearance.E013 اکشنی که در کد پیدا شده نمی‌تواند مجوز بسازد - policy آن مدل ندارد، یا اسمش بیش از حد بلند است
clearance.E014 مدلی مجوزهایش را با build_permissions اعلام می‌کند اما مجوزهای خود Django را هم نگه داشته - default_permissions = () نیست
clearance.E015 اکشن وضعیتی که در کد اعلام شده فیلد یا مقداری را نام می‌برد که مدلش ندارد
clearance.E016 یک پنل ادمین، پنل کتابخانه نیست: صفحه‌هایش از policyها نمی‌پرسیدند، و همه‌ی فیلدهای محافظت‌شده را نشان می‌دادند

E004 و E005 بازنشسته شده‌اند و هیچ‌وقت رخ نمی‌دهند. E004 viewی را که روی یک manager ساده دامنه داشت رد می‌کرد، و حالا همه‌ی querysetها دامنه می‌گیرند؛ E005 سقف‌هایی را بررسی می‌کرد که در کد نوشته می‌شدند، و حالا سقف‌ها در پایگاه داده‌اند.

آنچه فقط پایگاه داده می‌تواند بگوید

بررسی سیستمی کد را می‌بیند. آنچه در ردیف‌هاست را clearance_check می‌گوید.