Django4.0 執(zhí)行查詢-創(chuàng)建對(duì)象

2022-03-16 17:32 更新

一旦創(chuàng)建 數(shù)據(jù)模型 后,Django 自動(dòng)給予你一套數(shù)據(jù)庫(kù)抽象 API,允許你創(chuàng)建,檢索,更新和刪除對(duì)象。本頁(yè)介紹如何使用這些 API。

在本指南中(以及在參考資料中),我們將提及以下模型,它們構(gòu)成了一個(gè)博客應(yīng)用程序:

from datetime import date

from django.db import models

class Blog(models.Model):
    name = models.CharField(max_length=100)
    tagline = models.TextField()

    def __str__(self):
        return self.name

class Author(models.Model):
    name = models.CharField(max_length=200)
    email = models.EmailField()

    def __str__(self):
        return self.name

class Entry(models.Model):
    blog = models.ForeignKey(Blog, on_delete=models.CASCADE)
    headline = models.CharField(max_length=255)
    body_text = models.TextField()
    pub_date = models.DateField()
    mod_date = models.DateField(default=date.today)
    authors = models.ManyToManyField(Author)
    number_of_comments = models.IntegerField(default=0)
    number_of_pingbacks = models.IntegerField(default=0)
    rating = models.IntegerField(default=5)

    def __str__(self):
        return self.headline

創(chuàng)建對(duì)象

為了用 Python 對(duì)象展示數(shù)據(jù)表對(duì)象,Django 使用了一套直觀的系統(tǒng):一個(gè)模型類代表一張數(shù)據(jù)表,一個(gè)模型類的實(shí)例代表數(shù)據(jù)庫(kù)表中的一行記錄。
要?jiǎng)?chuàng)建一個(gè)對(duì)象,用關(guān)鍵字參數(shù)初始化它,然后調(diào)用 ?save()? 將其存入數(shù)據(jù)庫(kù)。
假設(shè)模型都位于文件 ?mysite/blog/models.py? 中,這是一個(gè)例子:

>>> from blog.models import Blog
>>> b = Blog(name='Beatles Blog', tagline='All the latest Beatles news.')
>>> b.save()

這在幕后執(zhí)行了 ?INSERTSQL 語(yǔ)句。Django 在你顯式調(diào)用 ?save()? 才操作數(shù)據(jù)庫(kù)。
?save()? 方法沒(méi)有返回值。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)