LINE Chatbot 建立遊戲化體驗APP|Day6建立後台GUI介面

之前我們已經幫django安裝好postgresql,django可以很好地幫忙處理管理權限的問題,所以我們要來熟悉一下如何調出postgresql的資料,首先可以用網域/admin登入後台,可以看到有使用者及群組,還有我們用model做出來的測試table

首先我們要先來認知說,Python django是如何操作的,他是藉由MVC做操作

view 展示層 主要會是使用者看到的東西

Control 專門寫判斷的地方

Model 模型 資料庫

我們先定義我們會有哪些資訊django會給一個基本的使用表,但我們還需要多一個表格紀錄這個使用者有多少點數以及消費紀錄。這時要用到的功能是OneToOneField來做到擴展的方式。

如何使用OneToOneField呢?
正常來說,我們要建立table會在myapp/model.py裡面寫上

class Profile(models.Model):
    user = models.CharField(blank=True, null=True)
    date_of_birth = models.DateField(blank=True, null=True)

    def __str__(self):
        return 'Profile for user {}'.format(self.user.username)

我們要將Profile這個表跟user的表接在一起,就要將user 後面改成models.OneToOneField,

class Profile(models.Model):
    user = models.OneToOneField(
        settings.AUTH_USER_MODEL,//連接user的表
        on_delete=models.CASCADE,//django2.0開始要求寫,刪除表的時候會統一刪除這個值
        primary_key=True //是否連動
    )
    date_of_birth = models.DateField(blank=True, null=True)
    point = models.IntegerField(blank=True,null=True)

    def __str__(self):
        return 'Profile for user {}'.format(self.user.username)

更多欄位類型可以參考:https://docs.djangoproject.com/en/3.2/ref/models/fields/

有了table,我們接下來就是要用crud去調出不同的資料我們先從admin來新增一筆資料
python很方便地讓你可以快速連入資料庫

Leave a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

回到頂端