# Django REST Framework (Django) > Serializer, ViewSet, router, autentikasi, permission, paginasi, filtering, throttling, versioning - 30 pertanyaan wawancara - Mid-Level - [Pertanyaan Wawancara: Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara.md) ## 1. Apa itu Django REST Framework (DRF)? **Jawaban** Django REST Framework adalah toolkit yang kuat dan fleksibel untuk membangun Web API dengan Django. Toolkit ini menyediakan fitur seperti serialisasi, autentikasi, permission, paginasi, dan dokumentasi otomatis. DRF telah menjadi standar de facto untuk membangun API RESTful di Python dengan Django, berkat antarmuka yang dapat dijelajahi dan komponennya yang dapat digunakan kembali. ## 2. Apa peran utama dari sebuah Serializer di DRF? **Jawaban** Sebuah Serializer di DRF mengubah objek kompleks seperti instance model Django menjadi tipe data Python native yang kemudian dapat dengan mudah dirender ke JSON atau XML. Serializer juga menangani validasi data masuk dan deserialisasi untuk mengubah data JSON menjadi objek Python. Serializer merupakan inti dari DRF dan memungkinkan untuk mendefinisikan representasi data dari API. ## 3. Apa perbedaan antara Serializer dan ModelSerializer? **Jawaban** ModelSerializer adalah subclass dari Serializer yang secara otomatis menghasilkan field berdasarkan model Django yang terkait. Ia secara otomatis membuat validator, mengimplementasikan metode create() dan update() default, serta secara signifikan mengurangi kode boilerplate. Serializer mengharuskan pendefinisian setiap field serta metode create/update secara manual, menawarkan kontrol lebih besar tetapi membutuhkan lebih banyak kode. ## 27 pertanyaan lagi tersedia - Bagaimana cara menentukan field mana yang akan disertakan dalam sebuah ModelSerializer? - Bagaimana cara menambahkan validasi kustom pada field tertentu dalam sebuah Serializer? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara Django lainnya - [Dasar-Dasar Python](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/python-basics.md): 25 pertanyaan, Junior - [Python berorientasi objek](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/python-oop.md): 20 pertanyaan, Junior - [Dasar-Dasar Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-fundamentals.md): 20 pertanyaan, Junior - [Models Django - Dasar](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-models-basics.md): 22 pertanyaan, Junior - [Django Views](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-views.md): 20 pertanyaan, Junior - [Template Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-templates.md): 18 pertanyaan, Junior - [Formulir Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-forms.md): 22 pertanyaan, Mid-Level - [QuerySets Lanjutan](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-querysets.md): 25 pertanyaan, Mid-Level - [Autentikasi Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-authentication.md): 22 pertanyaan, Mid-Level - [Middleware Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-middleware.md): 18 pertanyaan, Mid-Level - [Django Admin](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-admin.md): 20 pertanyaan, Mid-Level - [Sinyal Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-signals.md): 18 pertanyaan, Mid-Level - [Unggah File](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-file-upload.md): 20 pertanyaan, Mid-Level - [Caching Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-caching.md): 20 pertanyaan, Mid-Level - [Session Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-sessions.md): 18 pertanyaan, Mid-Level - [Email Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-email.md): 18 pertanyaan, Mid-Level - [Testing Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-testing.md): 22 pertanyaan, Mid-Level - [Keamanan Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-security.md): 22 pertanyaan, Mid-Level - [Deployment Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-deployment.md): 24 pertanyaan, Mid-Level - [Django ORM Lanjutan](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-orm-advanced.md): 28 pertanyaan, Senior - [Performa Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-performance.md): 24 pertanyaan, Senior - [Django & Celery](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-celery.md): 22 pertanyaan, Senior - [Django Channels](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-channels.md): 24 pertanyaan, Senior - [Django & GraphQL](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-graphql.md): 24 pertanyaan, Senior - [Django & Docker](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-docker.md): 20 pertanyaan, Senior - [Django dalam ekosistem microservices](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-microservices.md): 24 pertanyaan, Senior - [Perintah Django Kustom](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-custom-commands.md): 18 pertanyaan, Senior - [Internasionalisasi Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-internationalization.md): 20 pertanyaan, Senior - [Design Pattern Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-design-patterns.md): 24 pertanyaan, Senior - [Django Async & ASGI](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-async-asgi.md): 26 pertanyaan, Senior - [Settings & Konfigurasi Produksi](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-settings-configuration.md): 22 pertanyaan, Senior - [Observability & Monitoring](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-observability.md): 24 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-rest-framework