【Day 15】浅谈 Django model

关於网站

现在网站早已不像以前只是个一页式的静态网站,可能会多很多功能,例如:留言、回覆、公布栏等等等等。

而 Django 会把这些使用者互动的部分都储存於後台资料库,也就是我们现在要讲的 model 区。

也因为 Django 支援了多种资料库,例如:PostgreSQL、MySQL、SQLite、Oracle,所以在使用上可以无痛转移在各个资料库。

回到一开始建立APP

回到大概是第三天吧,我们提到建立一个 Django APP

#建立Django专案
$ django-admin startproject mylinebot .

这时候我们建立一个名为 mylinebot 的 object 专案

#建立Django应用程序 程序名称 django_chatbot
$ python manage.py startapp django_chatbot

$ python manage.py migrate  

建立名为 django_chatbot 的 APP。

现在我们的专案(APP)会长这样

django_chatbot
|-- mylinebot
|-- manage.py
...
|-- django_chatbot
|   |-- __init__.py
|   |-- admin.py
|   |-- models.py
|   |-- tests.py
|   `-- views.py

找到 django_chatbot > django_chatbot > models.py 更改如下:

from django.db import models

class User_Info(models.Model):
    uid = models.CharField(max_length=50, null=False, default='')  # user_id
    name = models.CharField(max_length=255, blank=True, null=False)  # LINE名字
    mtext = models.JSONField(max_length=255, blank=True, null=True)  # 文字讯息纪录
    mdt = models.DateTimeField(auto_now=True)  # 物件储存的日期时间

这里我们先暂时新增这样。
(这是我当时写 Line Bot 时要确认是否为首次注册者,所以用一个 uid 来记录使用者 id)

以上 class 的名称 User_Info,继承了 models.Model,里头包含了数据类型 CharField(相当於 JS 的 varchar),还有 max_length 等参数。

更改模型

python manage.py makemigrations django_chatbot # 让 django 知道模型有变更
python manage.py migrate # 创建结构

<<:  【Day 15】从零开始的 Debug 生活 - Debugger 原理

>>:  16 安装 Phoenix,产出新专案

CMoney菁英软件工程师战斗营_Week 7

Hi again 本周大部分时间都是在准备游戏专题 在专题中也会需要上周所提及的图片切个制作动画 由...

Day14 [实作] 分享画面及录影

快速测试一次分享画面的功能 在浏览器的console中输入 navigator.mediaDevic...

1.unity安装、学习资源、游戏规划

安装 官方网站:Download - Unity 注册、安装 注册UnityID 安装Unity H...

DAY23 model展示

>model.py from logging import root from django....

[Day 27] 阿嬷都看得懂的 JavaScript 怎麽写

阿嬷都看得懂的 JavaScript 怎麽写 昨天我们提及程序语言的 4 个重要特徵: 变数 型别 ...