在__init__.py增加,因為預設的mysqldb不支援python3
importpymysql
pymysql.install_as_mysqldb()
建立表
from django.db importmodels
#create your models here.
#圖書管理系統, 書 作者 出版社
#出版社
class
publisher(models.model):
id = models.autofield(primary_key=true) #
自增的id主鍵
#建立乙個varchar(64)的唯一的不為空的字段
name = models.charfield(max_length=64, null=false, unique=true)
addr = models.charfield(max_length=128)#書
class
book(models.model):
id = models.autofield(primary_key=true) #
自增的id主鍵
#建立乙個varchar(64)的唯一的不為空的字段
title = models.charfield(max_length=64, null=false, unique=true)
#和出版社關聯的外來鍵字段
publisher = models.foreignkey(to="
publisher
")
建立多對多關係
#圖書管理系統, 書 作者 出版社
#出版社
class
publisher(models.model):
id = models.autofield(primary_key=true) #
自增的id主鍵
#建立乙個varchar(64)的唯一的不為空的字段
name = models.charfield(max_length=64, null=false, unique=true)
addr = models.charfield(max_length=128)
def__str__
(self):
return""
.format(self.name)#書
class
book(models.model):
id = models.autofield(primary_key=true) #
自增的id主鍵
#建立乙個varchar(64)的唯一的不為空的字段
title = models.charfield(max_length=64, null=false, unique=true)
#和出版社關聯的外來鍵字段
publisher = models.foreignkey(to="
publisher")
def__str__
(self):
return""
.format(self.title)
#作者表
class
author(models.model):
id = models.autofield(primary_key=true)
name = models.charfield(max_length=16, null=false, unique=true)
#告訴orm 我這張表和book表是多對多的關聯關係,orm自動幫我生成了第三張表
book = models.manytomanyfield(to="
book")
def__str__
(self):
return
"".format(self.name)
python 資料模型
usr bin env python coding utf 8 import collections card collections.namedtuple card rank suit class frenchdeck 通過實現特殊方法利用python資料模型的好處 1.作為你類的使用者,他們不必...
Python資料模型
1 了解python資料模型和介面的概念 2 掌握特殊方法的定義,作用和基本用法。1 資料模型 data model 是資料特徵的抽象,這裡是對python框架的描述。資料模型規範了python自身構建模組的介面,模組包括但不限於序列 迭代器 函式 類和上下文管理器。2 介面 介面泛指實體把自己提供...
Python 資料模型
資料模型規範了 python 構建自身模組的介面。在 python 直譯器遇到特殊的句法時,會使用特殊方法 即魔術方法 去啟用基本的物件操作,這些特殊方法以 開頭與結尾。通過實現特殊方法,自定義資料型別可以表現得跟內建型別一樣,從而寫出更 pythonic 的 python 物件的乙個基本要求就是有...