Dengan perkembangan Internet, perisian pembangunan telah menjadi semakin popular. Untuk meningkatkan kecekapan pembangunan dan pengurusan kod, banyak bahasa menyediakan rangka kerja ORM, dan Python tidak terkecuali. Django ialah rangka kerja web Python yang menyediakan rangka kerja ORM yang berkuasa - Django ORM. Artikel ini akan memperkenalkan cara menggunakan Django ORM untuk mengurus pangkalan data.
Sebelum menggunakan Django ORM, anda perlu memasang Django. Anda boleh menggunakan pip untuk memasangnya, arahannya adalah seperti berikut:
pip install django
Selepas memasang Django, anda boleh menggunakannya untuk mencipta projek baharu, arahannya adalah seperti berikut:
django-admin startproject project_name
Ini akan mencipta projek Django bernama project_name.
Dalam Django ORM, model pangkalan data boleh ditakrifkan sebagai kelas Python. Dalam direktori aplikasi projek, buat fail bernama models.py dan tentukan model di dalamnya. Contohnya, untuk mencipta model bernama Book dengan atribut title, author, pub_date dan price, ia boleh ditakrifkan seperti berikut:
from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=200) pub_date = models.DateField() price = models.DecimalField(max_digits=5, decimal_places=2)
Di sini, Book mewarisi kelas Model dalam Django ORM dan mentakrifkan empat sifat. CharField mewakili jenis aksara, DateField mewakili jenis tarikh dan DecimalField mewakili jenis perpuluhan. Apabila mentakrifkan setiap sifat, anda boleh menggunakan parameter untuk mengawal jenis, panjang, ketepatannya, dsb.
Selain itu, kaedah dan kaedah kelas boleh ditakrifkan untuk model. Contohnya, tentukan kaedah kelas bernama get_books dalam model Buku untuk mendapatkan semua buku daripada pangkalan data, seperti berikut:
class Book(models.Model): # 类属性 title = models.CharField(max_length=100) author = models.CharField(max_length=200) pub_date = models.DateField() price = models.DecimalField(max_digits=5, decimal_places=2) # 类方法 @classmethod def get_books(cls): return cls.objects.all()
Di sini, gunakan pengubah kaedah kelas untuk mengubah suai kaedah get_books dan Ditakrifkan sebagai kaedah kelas. Kaedah ini menggunakan atribut objek dalam Django ORM untuk mendapatkan semua objek Buku.
Selepas menentukan model, anda perlu mencipta jadual dalam pangkalan data. Proses ini boleh dicapai menggunakan arahan makemigration dan migrate yang disediakan oleh Django ORM. Menggunakan arahan makemigration akan menghasilkan fail migrasi yang mengandungi perubahan pada model. Menggunakan arahan migrasi akan melaksanakan fail migrasi dan menggunakan perubahan pada pangkalan data. Perintahnya adalah seperti berikut:
python manage.py makemigrations python manage.py migrate
Selepas model pangkalan data ditakrifkan dan pemindahan pangkalan data selesai, anda boleh menggunakan Django ORM untuk menguruskan pangkalan data. Contohnya, dalam views.py anda boleh menulis kod berikut:
from django.shortcuts import render from .models import Book def book_list(request): books = Book.get_books() return render(request, 'book_list.html', {'books': books})
Di sini, import model Buku daripada models.py dan gunakan kaedah get_books untuk mendapatkan semua buku. Ia kemudiannya dihantar sebagai parameter ke dalam fungsi pemaparan, yang akan menggunakan fail templat book_list.html untuk memaparkan halaman.
Dalam book_list.html, anda boleh menggunakan kod berikut untuk memaparkan senarai buku:
{% for book in books %} <div class="book"> <h2>{{ book.title }}</h2> <p>{{ book.author }} - {{ book.pub_date|date:"Y年m月d日" }}</p> <p>价格:{{ book.price }}</p> </div> {% endfor %}
Di sini, gunakan gelung for untuk mengulangi semua buku dan mengeluarkan atributnya. Perlu diingat bahawa apabila mengeluarkan atribut pub_date, penapis tarikh digunakan untuk memformat tarikh ke dalam bentuk tahun, bulan dan hari.
Django ORM ialah rangka kerja ORM yang berkuasa yang boleh membantu pembangun mengurus pangkalan data dengan mudah. Artikel ini memperkenalkan proses penggunaan Django ORM untuk mencipta model, menjalankan migrasi pangkalan data dan mengurus pangkalan data. Saya harap artikel ini dapat membantu pemula lebih memahami aplikasi Django ORM.
Atas ialah kandungan terperinci Rangka kerja ORM dalam amalan Python Django ORM. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!