کلاس‌ها


در مدرسه‌ی کوئرا، کلاس‌هایی وجود دارند که باید آن‌ها را با استفاده از APIهایی که در آینده نوشته خواهند شد در سیستم ثبت کنیم. تکمیل سریالایزر مدل Classroom به فرهاد محول شده است. برای اطمینان از درستی کار فرهاد، به کمک شما برای تست سریالایزر فرهاد نیاز داریم.

شما باید تست‌/تست‌هایی بنویسید که درستی کد فرهاد را بررسی کند.

پروژه‌ی اولیه🔗

پروژه‌ی اولیه را از این لینک دانلود کنید.

school
├── classes
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   ├── 0001_initial.py
│   │   └── __init__.py
│   ├── models.py
│   ├── serializers.py
│   ├──   > temp_tests_file.py < 
│   ├── tests.py
│   └── views.py
├── config
│   ├── asgi.py
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── __init__.py
├── manage.py
├── requirements.txt
└── tests
    ├── __init__.py
    ├── sample.py
    └── testsample.py
Plain text

ایجاد سریالایزر برای Classroom🔗

فرهاد باید سریالایزری بر مبنای مدل Classroom به نام ClassroomSerializer ایجاد کند که ۲ محدودیت زیر حتماً در لایه‌ی سریالایزر در نظر گرفته شوند.

  • فیلد capacity نمی‌تواند مقدار کمتر از ۵ داشته باشد. (مقادیر صحیح: اعداد بزرگ‌تر یا مساوی ۵)
  • فیلد area نمی‌تواند مقدار منفی داشته باشد. (مقادیر صحیح: اعداد بزرگ‌تر یا مساوی ۰)

نکات مهم🔗

  • شما تنها مجوز ایجاد تغییرات در فایل‌های ذکر شده (زرد‌ رنگ) در درخت بالا را دارید و بقیه‌‌ی تغییرات شما در فایل‌های پروژه نادیده گرفته خواهند شد.
  • توجه نمایید که باید تست‌های خود را در فایل temp_tests_file.py در اپ classes بنویسید؛ نه در فایل tests.py.
  • تست‌های سیستم داوری برای تست کردن تست‌هایی‌ست که شما نوشته‌اید.
  • محدودیتی در نام و تعداد تست‌ها وجود ندارد.
  • تست‌های که می‌نویسید باید با سریالایزر درست pass و با سریالایزر غلط حداقل یکی از آن‌ها fail شود.
  • برای دریافت نمره‌ی این سوال، باید تمامی تست‌ها را پاس کنید و هر تست به صورت جداگانه نمره‌ای نخواهد داشت.

نحوه‌ی ارسال🔗

این سؤال از نوع سوالات تک‌فایل است؛ برای ارسال جواب، فایل پایتونی را که در آن موارد خواسته‌شده قرار دارد را انتخاب و سپس ارسال نمایید.