Rumah pembangunan bahagian belakang Tutorial Python 在Python的Django框架中更新数据库数据的方法

在Python的Django框架中更新数据库数据的方法

Jun 10, 2016 pm 03:09 PM
django Kemas kini data

先使用一些关键参数创建对象实例,如下:

>>> p = Publisher(name='Apress',
...     address='2855 Telegraph Ave.',
...     city='Berkeley',
...     state_province='CA',
...     country='U.S.A.',
...     website='http://www.apress.com/')

Salin selepas log masuk

这个对象实例并 没有 对数据库做修改。 在调用`` save()`` 方法之前,记录并没有保存至数据库,像这样:

>>> p.save()

Salin selepas log masuk

在SQL里,这大致可以转换成这样:

INSERT INTO books_publisher
  (name, address, city, state_province, country, website)
VALUES
  ('Apress', '2855 Telegraph Ave.', 'Berkeley', 'CA',
   'U.S.A.', 'http://www.apress.com/');

Salin selepas log masuk

因为 Publisher 模型有一个自动增加的主键 id ,所以第一次调用 save() 还多做了一件事: 计算这个主键的值并把它赋值给这个对象实例:

>>> p.id
52  # this will differ based on your own data

Salin selepas log masuk

接下来再调用 save() 将不会创建新的记录,而只是修改记录内容(也就是 执行 UPDATE SQL语句,而不是 INSERT 语句):

>>> p.name = 'Apress Publishing'
>>> p.save()

Salin selepas log masuk

前面执行的 save() 相当于下面的SQL语句:

UPDATE books_publisher SET
  name = 'Apress Publishing',
  address = '2855 Telegraph Ave.',
  city = 'Berkeley',
  state_province = 'CA',
  country = 'U.S.A.',
  website = 'http://www.apress.com'
WHERE id = 52;

Salin selepas log masuk

注意,并不是只更新修改过的那个字段,所有的字段都会被更新。 这个操作有可能引起竞态条件,这取决于你的应用程序。 请参阅后面的“更新多个对象”小节以了解如何实现这种轻量的修改(只修改对象的部分字段)。

UPDATE books_publisher SET
  name = 'Apress Publishing'
WHERE id=52;

Salin selepas log masuk

选择对象

当然,创建新的数据库,并更新之中的数据是必要的,但是,对于 Web 应用程序来说,更多的时候是在检索查询数据库。 我们已经知道如何从一个给定的模型中取出所有记录:

>>> Publisher.objects.all()
[<Publisher: Apress>, <Publisher: O'Reilly>]

Salin selepas log masuk

这相当于这个SQL语句:

SELECT id, name, address, city, state_province, country, website
FROM books_publisher;

Salin selepas log masuk

注意

注意到Django在选择所有数据时并没有使用 SELECT* ,而是显式列出了所有字段。 设计的时候就是这样: SELECT* 会更慢,而且最重要的是列出所有字段遵循了Python 界的一个信条: 明言胜于暗示。

有关Python之禅(戒律) :-),在Python提示行输入 import this 试试看。

让我们来仔细看看 Publisher.objects.all() 这行的每个部分:

  •     首先,我们有一个已定义的模型 Publisher 。没什么好奇怪的: 你想要查找数据, 你就用模型来获得数据。
  •     然后,是objects属性。 它被称为管理器,我们将在第10章中详细讨论它。 目前,我们只需了解管理器管理着所有针对数据包含、还有最重要的数据查询的表格级操作。
  •     所有的模型都自动拥有一个 objects 管理器;你可以在想要查找数据时使用它。
  •     最后,还有 all() 方法。这个方法返回返回数据库中所有的记录。 尽管这个对象 看起来 象一个列表(list),它实际是一个 QuerySet 对象, 这个对象是数据库中一些记录的集合。

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyemak versi django Bagaimana untuk menyemak versi django Dec 01, 2023 pm 02:25 PM

Langkah-langkah untuk menyemak versi Django: 1. Buka terminal atau tetingkap command prompt 2. Pastikan Django tidak dipasang, anda boleh menggunakan alat pengurusan pakej untuk memasangnya dan masukkan perintah pip install django; Selepas pemasangan selesai, anda boleh menggunakan python -m django --version untuk menyemak versi Django.

Django vs. Flask: Analisis perbandingan rangka kerja web Python Django vs. Flask: Analisis perbandingan rangka kerja web Python Jan 19, 2024 am 08:36 AM

Django dan Flask adalah kedua-duanya peneraju dalam rangka kerja Web Python, dan kedua-duanya mempunyai kelebihan dan senario yang boleh digunakan. Artikel ini akan menjalankan analisis perbandingan kedua-dua rangka kerja ini dan memberikan contoh kod khusus. Pengenalan Pembangunan Django ialah rangka kerja Web berciri penuh, tujuan utamanya adalah untuk membangunkan aplikasi Web yang kompleks dengan cepat. Django menyediakan banyak fungsi terbina dalam, seperti ORM (Pemetaan Hubungan Objek), borang, pengesahan, bahagian belakang pengurusan, dsb. Ciri-ciri ini membolehkan Django mengendalikan besar

Kebaikan dan Keburukan Rangka Kerja Django: Semua yang Anda Perlu Tahu Kebaikan dan Keburukan Rangka Kerja Django: Semua yang Anda Perlu Tahu Jan 19, 2024 am 09:09 AM

Django ialah rangka kerja pembangunan lengkap yang merangkumi semua aspek kitaran hayat pembangunan web. Pada masa ini, rangka kerja ini merupakan salah satu rangka kerja web yang paling popular di seluruh dunia. Jika anda bercadang untuk menggunakan Django untuk membina aplikasi web anda sendiri, maka anda perlu memahami kelebihan dan kekurangan rangka kerja Django. Berikut ialah semua yang anda perlu ketahui, termasuk contoh kod khusus. Kelebihan Django: 1. Pembangunan pesat-Djang boleh membangunkan aplikasi web dengan cepat. Ia menyediakan perpustakaan yang kaya dan dalaman

Bagaimana untuk menyemak versi django Bagaimana untuk menyemak versi django Nov 30, 2023 pm 03:08 PM

Cara menyemak versi django: 1. Untuk menyemak melalui baris arahan, masukkan arahan "python -m django --version" dalam terminal atau tetingkap baris arahan 2. Untuk menyemak dalam persekitaran interaktif Python, masukkan "import django print(django. get_version())" code; 3. Semak fail tetapan projek Django dan cari senarai bernama INSTALLED_APPS, yang mengandungi maklumat aplikasi yang dipasang.

Cara menaik taraf versi Django: langkah dan pertimbangan Cara menaik taraf versi Django: langkah dan pertimbangan Jan 19, 2024 am 10:16 AM

Cara menaik taraf versi Django: langkah dan pertimbangan, contoh kod khusus diperlukan Pengenalan: Django ialah rangka kerja Web Python yang berkuasa yang sentiasa dikemas kini dan dinaik taraf untuk memberikan prestasi yang lebih baik dan lebih banyak ciri. Walau bagaimanapun, bagi pembangun yang menggunakan versi lama Django, menaik taraf Django mungkin menghadapi beberapa cabaran. Artikel ini akan memperkenalkan langkah dan langkah berjaga-jaga tentang cara untuk meningkatkan versi Django dan memberikan contoh kod khusus. 1. Sandarkan fail projek sebelum menaik taraf Djan

Apakah perbezaan antara versi django? Apakah perbezaan antara versi django? Nov 20, 2023 pm 04:33 PM

Perbezaannya ialah: 1. Siri Django 1.x: Ini ialah versi awal Django, termasuk versi 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8 dan 1.9. Versi ini menyediakan fungsi pembangunan web asas; 2. Siri Django 2.x: Ini adalah versi jangka pertengahan Django, termasuk versi 2.0, 2.1, 2.2 dan lain-lain siri Django Termasuk versi 3.0, 3, dsb.

Adakah django bahagian hadapan atau belakang? Adakah django bahagian hadapan atau belakang? Nov 21, 2023 pm 02:36 PM

Django ialah bahagian belakang. Butiran: Walaupun Django terutamanya rangka kerja bahagian belakang, ia berkait rapat dengan pembangunan bahagian hadapan. Melalui ciri seperti enjin templat Django, pengurusan fail statik dan API RESTful, pembangun bahagian hadapan boleh bekerjasama dengan pembangun bahagian belakang untuk membina aplikasi web yang berkuasa dan boleh skala.

Adakah Django bahagian hadapan atau belakang? semaklah! Adakah Django bahagian hadapan atau belakang? semaklah! Jan 19, 2024 am 08:37 AM

Django ialah rangka kerja aplikasi web yang ditulis dalam Python yang menekankan pembangunan pesat dan kaedah bersih. Walaupun Django ialah rangka kerja web, untuk menjawab soalan sama ada Django ialah front-end atau back-end, anda perlu mempunyai pemahaman yang mendalam tentang konsep front-end dan back-end. Bahagian hadapan merujuk kepada antara muka yang pengguna berinteraksi secara langsung, dan bahagian belakang merujuk kepada program bahagian pelayan Mereka berinteraksi dengan data melalui protokol HTTP. Apabila bahagian hadapan dan bahagian belakang dipisahkan, program bahagian hadapan dan bahagian belakang boleh dibangunkan secara bebas untuk melaksanakan logik perniagaan dan kesan interaktif masing-masing, dan pertukaran data.

See all articles