python model怎麼用

coldplay.xixi
發布: 2020-08-25 11:55:16
原創
9275 人瀏覽過

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!