Jika anda ingin mengetahui tentang bijirin terbaik untuk pengaturcara, yang mana Cocoa Pebbles adalah juara bertahan ?, maka anda berada dalam catatan blog yang betul. Hanya bergurau! Hari ini kita akan menyelami sesuatu yang lebih baik: Django Serializers ?️ Mereka akan menjadikan pengendalian data anda lebih lancar daripada bijirin kegemaran anda! Bersedia untuk mencubanya? Jom pergi! ?
Jika anda telah menyelami pembangunan Django, anda mungkin pernah menjumpai penyeri bersiri. Pada pandangan pertama, mereka mungkin kelihatan seperti konsep yang kompleks dan menakutkan, terutamanya apabila anda menyaring dokumentasi atau menonton video tutorial. Tetapi jangan risau - sebenarnya, penyeri bersiri Django jauh lebih mudah daripada yang dipaparkan. Mari kita pecahkan dan jelaskan komponen penting rangka kerja Django REST ini.
Pada terasnya, penyeri bersiri Django ialah alat yang menukar jenis data yang kompleks, seperti model Django, kepada jenis data Python yang boleh dipaparkan dengan mudah kepada JSON, XML atau jenis kandungan lain. Ia juga berfungsi secara terbalik, menukar data masuk daripada format seperti JSON kembali kepada objek Django.
Ringkasnya, penyeri bersiri merapatkan jurang antara model Django dan data yang dijangkakan oleh bahagian hadapan anda (atau mana-mana pengguna lain).
Mari kita mulakan dengan model Django asas yang mewakili buku dalam perpustakaan:
from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=100) published_date = models.DateField() isbn = models.CharField(max_length=13)
Model ini mudah — ia mempunyai medan untuk tajuk, pengarang, tarikh diterbitkan dan ISBN buku. Sekarang, mari buat penyeri bersiri untuk model ini.
Untuk menukar model ini kepada JSON (atau mana-mana format lain), kami menggunakan penyeri bersiri Django. Cara mudah untuk melakukan ini ialah dengan menggunakan serializers.ModelSerializer:
from rest_framework import serializers from .models import Book class BookSerializer(serializers.ModelSerializer): class Meta: model = Book fields = ['title', 'author', 'published_date', 'isbn']
Di sini, BookSerializer mewarisi daripada serializers.ModelSerializer, yang secara automatik mencipta serializer untuk model Book. Kelas Meta memberitahu Django model yang hendak disiri dan medan yang hendak disertakan.
Bagaimana jika anda memerlukan lebih kawalan? Sebagai contoh, jika anda ingin mengesahkan ISBN atau menambah medan tersuai, anda mungkin menggunakan serializers.Serializer sebaliknya. Begini caranya:
class CustomBookSerializer(serializers.Serializer): title = serializers.CharField(max_length=100) author = serializers.CharField(max_length=100) published_date = serializers.DateField() isbn = serializers.CharField(max_length=13) def validate_isbn(self, value): if len(value) != 13: raise serializers.ValidationError("ISBN must be 13 characters long") return value
Dalam contoh ini, CustomBookSerializer memberi anda kawalan penuh ke atas setiap medan dan cara ia dikendalikan. Anda boleh menambah pengesahan tersuai, seperti memastikan ISBN sepanjang 13 aksara.
Pensiri Django mungkin kelihatan rumit pada mulanya, tetapi dengan pendekatan yang betul, ia boleh menjadi alat yang sangat berkuasa untuk mengendalikan data dalam aplikasi anda. Sama ada anda bekerja dengan penyeri bersiri.ModelSerializer untuk bersiri atau bersiri yang cepat dan mudah.Serializer untuk lebih kawalan, rangka kerja Django REST telah melindungi anda. Teruskan bereksperimen dengan alatan ini dan tidak lama lagi anda akan mendapati bahawa ia menjadikan pembangunan Django anda lebih lancar dan cekap.
Atas ialah kandungan terperinci Cara Bermula dengan Django Serializers untuk Pemula. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!