Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci tentang rangka kerja ORM SQLObject dalam Python

Penjelasan terperinci tentang rangka kerja ORM SQLObject dalam Python

WBOY
WBOYasal
2023-06-10 17:06:071032semak imbas

Dengan populariti aplikasi Web yang meluas, Python semakin digunakan secara meluas dalam bidang pembangunan Web. Banyak Rangka Kerja Web Python hari ini menyediakan beberapa rangka kerja ORM untuk mengendalikan pangkalan data. SQLObject ialah salah satu rangka kerja ORM yang sangat popular dan mudah digunakan. Artikel ini akan memperkenalkan secara terperinci cara menggunakan rangka kerja SQLObject.

  1. Pasang SQLObject

Anda boleh memasang SQLObject dengan mudah menggunakan alat pip:

pip install sqlobject
  1. Sambung ke pangkalan data

Mula-mula perkenalkan perpustakaan sqlobject dan gunakan kaedah connectionForURI untuk menyambung ke pangkalan data. Berikut ialah contoh sambungan pangkalan data MySQL:

import MySQLdb
from sqlobject import *


connection_string = 'mysql://user:password@localhost/database'
connection = connectionForURI(connection_string)
sqlhub.processConnection = connection

Pengguna, kata laluan, localhost dan pangkalan data hendaklah digantikan dengan nilai sebenar.

  1. Tentukan kelas model

Apabila mentakrifkan kelas model, anda mesti mewarisi kelas SQLObject. Berikut ialah contoh takrifan mudah kelas Orang:

class Person(SQLObject):
    name = StringCol(length=100)
    age = IntCol(default=0)

Kelas Orang mengandungi dua medan: nama dan umur. name ialah jenis rentetan dengan panjang 100, dan umur ialah jenis integer dengan nilai awal 0. SQLObject menyediakan beberapa jenis lajur yang berbeza, termasuk StringCol, IntCol, FloatCol, DecimalCol, BoolCol, DateCol, DateTimeCol dan TimeCol, dsb. Anda juga boleh menetapkan sifat lain lajur, seperti nilai lalai, keunikan, indeks, dsb.

  1. Buat jadual

Untuk mencipta jadual dalam pangkalan data, cuma perkenalkan modul yang mentakrifkan kelas model dalam shell atau skrip Python dan jalankan kaedah createTable() :

from models import Person


Person.createTable()

Jika jadual sudah wujud, ia tidak akan dibuat lagi.

  1. Sisipkan data

Untuk memasukkan data ke dalam jadual, cuma buat contoh kelas model dan tetapkan nilai pada setiap medan. Contohnya:

john = Person(name='John Smith', age=30)

Untuk menyimpan contoh ke pangkalan data, panggil kaedah save()nya:

john.save()

Pada masa ini, jadual bernama orang akan dibuat dalam pangkalan data dan nama akan dimasukkan Rekod untuk John Smith, umur 30 tahun.

  1. Mencari data

SQLObject menyediakan banyak kaedah untuk menanyakan data dalam pangkalan data. Berikut ialah beberapa contoh kaedah yang biasa digunakan:

(1) Dapatkan semua rekod

Untuk mendapatkan semua rekod dalam jadual Orang, anda boleh memanggil kaedah pilih() kelas Orang:

people = Person.select()
for person in people:
    print(person.name, person.age)

Kod ini akan melingkari setiap rekod dalam jadual Orang dan mengeluarkan nilai medan nama dan umur mereka.

(2) Tapis rekod mengikut syarat

Untuk menapis rekod mengikut syarat, anda boleh menghantar objek SQLExpression dalam kaedah pilih(). Sebagai contoh, kod berikut akan mendapat semua orang yang berumur 30 tahun ke atas:

people = Person.select(Person.age >= 30)
for person in people:
    print(person.name, person.age)

Begitu juga, perbandingan boleh dibuat menggunakan operator seperti 91eef5681cad6f0cc96f9adeb2931b45, >=, ==, dan != .

(3) Isih mengikut medan

Untuk mengisih mengikut medan, anda boleh menghantar klausa OrderBy dalam kaedah pilih(). Contohnya, kod berikut akan mengisih mengikut medan umur dalam tertib menaik:

people = Person.select(orderBy=Person.age)
for person in people:
    print(person.name, person.age)

Untuk mengisih dalam tertib menurun, anda boleh menambah tanda tolak sebelum nama medan, contohnya:

people = Person.select(orderBy=-Person.age)
  1. Kemas kini data

Untuk mengemas kini data, cuma ubah suai nilai atribut contoh kelas model dan kemudian panggil kaedah save()nya. Sebagai contoh, kod berikut akan menukar umur John Smith kepada 35:

john.age = 35
john.save()
  1. Padam data

Untuk memadam data, hanya panggil kaedah destroySelf() kelas model instance Itu sahaja. Sebagai contoh, kod berikut akan memadamkan rekod bernama John Smith:

john.destroySelf()
  1. Ringkasan

SQLObject ialah rangka kerja ORM yang sangat mudah yang boleh memudahkan Operasi pembangunan web Python pada pangkalan data. Artikel ini memperkenalkan penggunaan asas SQLObject, termasuk menyambung ke pangkalan data, mentakrifkan kelas model, mencipta jadual, memasukkan data, menanya data, mengemas kini data dan memadam data. Saya harap pembaca boleh mencuba menggunakan SQLObject untuk pembangunan web Python.

Atas ialah kandungan terperinci Penjelasan terperinci tentang rangka kerja ORM SQLObject dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn