網站開發學習Python實現-Django的models學習-生鮮項目(6.3.2)

@git

1.說明

models是django的很重要的部分,因此深刻研究。
本文章的所研究項目爲黑馬教育python課程中的項目實戰-每天生鮮項目
這裏就簡單的描述下,會把研究的代碼放在github,多研究幾個來造成本身的知識體系github

2.模型類的設計

在這裏插入圖片描述

3.代碼的具體實現

在這裏插入圖片描述
文件夾中只有代碼的models部分
該項目中一共有4個大類:cart(購物車),goods(商品),order(訂單),user(用戶)
而後裏面有一個db文件夾,裏面放的是base_model,全部的model的通用父類數據庫

from django.db import models


class BaseModel(models.Model):
    '''模型抽象基類'''
    create_time = models.DateTimeField(auto_now_add=True, verbose_name='建立時間')
    update_time = models.DateTimeField(auto_now=True, verbose_name='更新時間')
    is_delete = models.BooleanField(default=False, verbose_name='刪除標記')

    class Meta:
        # 說明是一個抽象模型類
        abstract = True

做用:定義了三個字段,建立時間,更新時間,是否刪除字段
而後經過元類的屬性來講明,這一個類是一個抽象類django


from django.db import models
from django.contrib.auth.models import AbstractUser
from db.base_model import BaseModel
# Create your models here.


class User(AbstractUser, BaseModel):
    '''用戶模型類'''

    class Meta:
        db_table = 'df_user'
        verbose_name = '用戶'
        verbose_name_plural = verbose_name
........

django中db很重要因此,db的包就在django下面,而後若是要建立一個模型,都要繼承db.models下的model
第二個import是導入django.contrib.auth.models(django發行版本.認證.模型)
下的abstractuser(抽象用戶),爲何要導入這個呢,由於django作得太好了,把那種通用的表都抽象整合在一塊兒了,要的時候直接用就完事
能夠看到咱們定義的user表,繼承了額abstractuser和basemodel(一個django自帶的,一個本身定義的)
而後在user的內部類中定義db_table 也就是在數據庫中建表的名稱,至於verbose_name 好像就對admin後頭中的顯示有幫助,應該沒有其餘做用畢竟能夠爲中文,plural是複數的意思。網站

關於其餘的都放在github上,每句都會有註釋設計

4.詳情地址

gitee:https://gitee.com/bothsavage/DjangoModleStudy.git
github:https://github.com/BOTHSAVAGE/DjangoModleStudy.gitcode

關於做者

我的博客網站
我的GitHub地址
我的公衆號:
在這裏插入圖片描述blog

相關文章
相關標籤/搜索