در مدرسهی کوئرا، کلاسهایی وجود دارند که باید آنها را با استفاده از 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
ایجاد سریالایزر برای Classroom
فرهاد باید سریالایزری بر مبنای مدل Classroom
به نام ClassroomSerializer
ایجاد کند که ۲ محدودیت زیر حتماً در لایهی سریالایزر در نظر گرفته شوند.
- فیلد
capacity
نمیتواند مقدار کمتر از ۵ داشته باشد. (مقادیر صحیح: اعداد بزرگتر یا مساوی ۵) - فیلد
area
نمیتواند مقدار منفی داشته باشد. (مقادیر صحیح: اعداد بزرگتر یا مساوی ۰)
نکات مهم
- شما تنها مجوز ایجاد تغییرات در فایلهای ذکر شده (زرد رنگ) در درخت بالا را دارید و بقیهی تغییرات شما در فایلهای پروژه نادیده گرفته خواهند شد.
- توجه نمایید که باید تستهای خود را در فایل
temp_tests_file.py
در اپclasses
بنویسید؛ نه در فایلtests.py
. - تستهای سیستم داوری برای تست کردن تستهاییست که شما نوشتهاید.
- محدودیتی در نام و تعداد تستها وجود ندارد.
- تستهای که مینویسید باید با سریالایزر درست pass و با سریالایزر غلط حداقل یکی از آنها fail شود.
- برای دریافت نمرهی این سوال، باید تمامی تستها را پاس کنید و هر تست به صورت جداگانه نمرهای نخواهد داشت.
نحوهی ارسال
این سؤال از نوع سوالات تکفایل است؛ برای ارسال جواب، فایل پایتونی را که در آن موارد خواستهشده قرار دارد را انتخاب و سپس ارسال نمایید.
ارسال پاسخ برای این سؤال