昨天提到 Django 的 model 好处是可以无痛转移在各个 Python 资料库里。那我们今天深入一点先谈谈 model 内部怎麽运作。
class
class
都继承 django.db.models.Model
class
的属性都属於资料库的一部分范例取自官网
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
像是这样一个 model,first_name
跟 last_name
都是 CharField
这一段我们会创建成以下的资料库表格:
CREATE TABLE myapp_person (
"id" serial NOT NULL PRIMARY KEY,
"first_name" varchar(30) NOT NULL,
"last_name" varchar(30) NOT NULL
);
那我们更进阶的讨论一下 Model Field
Django 提供多种 Model Field,像是上面的 CharField
,就像是字串栏位,里面就规定需要有一个 max_length
的参数。
除了这个还有像是 TextField
,就偏向没有最大长度的 CharField
。
提供多种 Field,每个也都有规定的必须或是非必要参数,欢迎参考官方文档
总之,在我的看法,Model 有点像是现在网站上宣告一个 function,然後这个 function 用 Model Field
来宣告型态!
但型态又有很多种,包含刚刚提到的字元或是文字,还有影像(ImageField
)、还有网址(URLField
)等等非常多的选项。
就是用来建立资料库,并且在各个资料库间无痛转移。
这就是 Django 的好处。
<<: 【Day16】Git 版本控制 - 多人协作 Fork(1)
import pyautogui import pyperclip import time def ...
执行以下指令,就会在 db/migrate/ 目录下产生如 20110203070100_migra...
干古 微软开发的一个跨平台开源的开发框架, 以前叫 .NET Core, 也继承 .Net Fram...
先把之前的笔记随意复制贴上... 明天一定会改的 吧 最简单的 DP:fibonacci 数列 只要...
诗忆一走进学校的综合餐厅就看到唯心和另一个男生坐在中间的位置聊天,不由得加快脚步。 翟文志眼角余光注...