首頁  >  文章  >  後端開發  >  python model怎麼用

python model怎麼用

coldplay.xixi
coldplay.xixi原創
2020-08-25 11:55:169406瀏覽

python model的用法是:1、model實現增,程式碼為【book=Book(title="hello go")】;2、model實作刪,程式碼為【book=Book.objects.get (id=1),book.delete()】。

python model怎麼用

【相關學習推薦:#python教學##】

python model的用法是:

#1.首先是資料庫設定

一般新建的django專案都是配置為sqlite為資料庫

通常專案中都會使用MySQL

所以先修改設定

在project的

settings.py裡修改

將原先設定sqlite改為自己的屬性

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'USER':'root',
        'PASSWORD':'',
        'NAME':'djangouse',
        'HOST':'localhost',
    }
}

USER填MySQL的使用者名稱

PASSWORD填入MySQL的密碼

NAME填填所使用的資料庫的名字,這個要自己到MySQL裡創建

注意:使用model前記得把MySQL打開

#2.在新版的django中命令列有了很大的變化

關於model的主要有以下幾句命令

python manage.py check 檢查model是否有拼寫錯誤

python manage.py makemigrations 將model的改變生成一個遷移文件

python manage.py migrate 執行遷移

通常在建立好app和資料庫之後

先執行

python manage.py migrate

會產生一些管理的表

3.之後是新建model

首先要導入models套件

在app的models.py裡加入

from django.db import models
class Book(models.Model):
    title=models.CharField(max_length=100)
    def __unicode__(self):
        return self.title

這個Book的model有一個title字段最大長度為100

unicode這個方法是回傳的是查詢到這個Object時顯示的內容,預設顯示為Object

然後就是依序執行

python manage.py check  检查model是否有拼写错误
python manage.py makemigrations 将model的改变生成一个迁移文件
python manage.py migrate 执行迁移

接著查詢所使用的資料庫會發現多了一個名字含有book的表

4.接下來是model的增刪查改

##增

##增

book=Book(title="hello django")
book.save()

刪除

book=Book.objects.get(id=1)
book.delete()

取得id為1的物件後執行delete方法

book=Book.objects.all()

查詢全部Book對象,傳回一個集合

book=Book.objects.get(id=1)

取得id為1的Book物件

book=Book.objects.filter(title__icontains="hello")

取得title欄位裡含有hello的Book物件集合

book=Book.objects.get(id=1)
book.title="django"
book.save()

#5.接下來的model的進階使用-manager

manager是對model一些常用方法的封裝

#有獲得數值的,也有獲得物件集合的

看看得到數值的manager怎麼創建

在app裡的model.py裡新建一個繼承自models.Manager的類別

class BookManager(models.Manager):
    def get_book_count(self,keyword):
        return self.filter(title__icontains=keyword).count()

然後把manager加進model

class Book(models.Model):
    title=models.CharField(max_length=100)
    myobjects=BookManager()

使用的時候是

count=Book.myobjects.get_book_count("hello")

這樣就回傳了名字含有book物件的數量

如果想得到一個有特殊條件物件集合呢?

新建一個manger

class PythonManager(models.Manager):
    def get_query_set(self):
        return super(PythonManager,self).get_query_set().filter(title__icontaions='hello')

把manager加進model

class Book(models.Model):
    title=models.CharField(max_length=100)
    myobjects=BookManager()
    pyhton_objects=PythonManager()

用的時候是

queryset=Book.pyhton_objects.get_query_set()

這樣就回傳了名字含有hello的Book物件集合

6.接下來是用後台頁面管理model

###首先要在終端機輸入###
python manage.py createsuperuser

以上是python model怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn