(一)django-game:model 設計
看了看 4399網站 首頁 就是 head 一些廣告 和一些 登入 搜尋 這個先不管
然後就是寫下面的 導航 分類 ,然後 下面還有更加細緻的分類 每個一級類別 下面還有一個二級類別,
然後 就是遊戲資訊
然後進入 遊戲詳情頁 看看 就是 開始遊戲 一些遊戲的資訊 下面有一個富文字 介紹如何遊戲
旁邊的推薦 熱門 相似 之類
按照上面 我們創造 三個 app 一個是 user 一個是 game 另一個 user_operation
首先 我們來寫 user 的 model:
先簡單的寫一些 後期 如果 還有更詳細的內容 在加上來
from django.db import models
from datetime import datetime
from django.contrib.auth.models import AbstractUser
# Create your models here.
class UserProfile(AbstractUser):
name = models.CharField(max_length=10,verbose_name="暱稱",default='')
birday = models.DateField(verbose_name="生日",null=True,blank=True)
gender = models.CharField(max_length=6,choices=(('male','男'),('female','女')),default='female')
mobile = models.CharField(max_length=11,null=True,blank=True,verbose_name='手機號')
image = models.ImageField(upload_to="image/%Y/%m",default='',max_length=100)
class Meta:
verbose_name = "使用者資訊"
verbose_name_plural = verbose_name
def __str__(self):
return self.username
# email驗證
class EmailVerifyRecord(models.Model):
code = models.CharField(max_length=20, verbose_name=u"驗證碼")
email = models.EmailField(max_length=50, verbose_name=u"郵箱")
send_type = models.CharField(verbose_name="驗證碼型別", max_length=30,
choices=(("register", '註冊'), ("forget", "找回密碼"), ('update_email', '修改郵箱')))
send_time = models.DateTimeField(verbose_name="傳送時間", default=datetime.now)
class Meta:
verbose_name = "郵箱"
verbose_name_plural = verbose_name
def __str__(self):
return "{0}({1})".format(self.code, self.email)
然後是 game 的model:
我這裡 以類別 為一級類別 標籤為二級類別
遊戲可以有一個 一級類別 有很多個 二級類別
遊戲和 類別 是多對一關係
遊戲和標籤 是多對多關係
標籤和類別 是 多對一關係
from django.db import models
from datetime import datetime
# Create your models here.
class Category(models.Model):
name = models.CharField(max_length=10, verbose_name="類別")
add_time = models.DateTimeField(default=datetime.now, verbose_name='新增時間')
class Meta:
verbose_name = '類別管理'
verbose_name_plural = verbose_name
def __str__(self):
return self.name
class Tags(models.Model):
name = models.CharField(max_length=10, verbose_name="標籤")
category = models.ForeignKey(Category, verbose_name="類別")
add_time = models.DateTimeField(default=datetime.now, verbose_name='新增時間')
class Meta:
verbose_name = '標籤管理'
verbose_name_plural = verbose_name
def __str__(self):
return self.name
class Games(models.Model):
name = models.CharField(max_length=10, verbose_name="遊戲名")
category = models.ForeignKey(Category, verbose_name='類別')
tags = models.ManyToManyField(Tags, verbose_name="標籤")
file = models.FileField(upload_to="game/%Y/%m", verbose_name="遊戲")
fav_nums = models.IntegerField(default=0, verbose_name='收藏數')
detail = models.TextField()
is_hot = models.BooleanField(default=False)
is_new = models.BooleanField(default=False)
add_time = models.DateTimeField(default=datetime.now, verbose_name='新增時間')
class Meta:
verbose_name = '遊戲資訊'
verbose_name_plural = verbose_name
def __str__(self):
return self.name
然後 就是user_opreation 的model
想了一下 似乎 就只有 使用者收藏 和 使用者玩過 這兩個操作 以後 還可以加上評論 或者 其他的
from game.models import Games
User = get_user_model()
class UserFav(models.Model):
user = models.ForeignKey(User, verbose_name="使用者名稱")
game = models.ForeignKey(Games, verbose_name="遊戲")
add_time = models.DateTimeField(default=datetime.now, verbose_name='新增時間')
class Meta:
verbose_name = '使用者收藏'
verbose_name_plural = verbose_name
def __str__(self):
return self.user.username
class UserPlay(models.Model):
user = models.ForeignKey(User, verbose_name="使用者名稱")
game = models.ForeignKey(Games, verbose_name="遊戲")
add_time = models.DateTimeField(default=datetime.now, verbose_name='新增時間')
class Meta:
verbose_name = '使用者玩過'
verbose_name_plural = verbose_name
def __str__(self):
return self.user.username
到這裡 基本 model就 可以了 然後 下一篇 講一講 xadmin整合
相關文章
- 談談如何設計一個 Network->Model 元件元件
- 設計模式應用場景之Model設計中可以用到的設計模式設計模式
- 部落格專案環境搭建和Model設計
- iOS-APP重構之路(二) Model的設計iOSAPP
- Model設計中常見的技巧和注意事項
- Django:動態問卷系統的Model設計Django
- 第五課第一週程式設計作業assignment-Dinosaurus+Island+--+Character+level+language+model+final程式設計
- [Triton課程筆記] 1.2.4 程式設計實戰-配置ensemble model筆記程式設計
- machine learning model(algorithm model) .vs. statistical modelMacGo
- Model類的一個return作用
- JavaScript設計模式(一)設計原則JavaScript設計模式
- 一.設計模式之工廠設計模式設計模式
- 【系統設計】設計一個限流元件元件
- Java設計模式(一):設計模式概述、UML圖、設計原則Java設計模式
- 關於diffusion model一些統計和數學的基礎知識
- MFC程式設計(一)C程式程式設計
- 【乾貨】遊戲介面設計 (一)核心設計遊戲
- 【設計模式】設計模式(一)-- 大話設計模式讀書筆記設計模式筆記
- Flutter | 狀態管理探索篇——Scoped Model(一)Flutter
- Reactor ModelReact
- 妙用設計模式來設計一個校驗器設計模式
- 設計模式(一)學習設計模式的好處設計模式
- 聊一聊設計模式(二)-- 建立型設計模式設計模式
- 解說pytorch中的model=model.to(device)PyTorchdev
- [Android] 關於 Model 層的幾點思考(一)Android
- React元件設計模式(一)React元件設計模式
- javascript設計模式系列一JavaScript設計模式
- 實驗一原型設計原型
- 高效設計一個LRU
- [淺談設計模式(一)] 讓你一分鐘讀懂設計模式設計模式
- Java併發程式設計中的設計模式解析(一)Java程式設計設計模式
- 聊一聊設計模式(四)-- 行為型設計模式設計模式
- 聊一聊設計模式(三)-- 結構型設計模式設計模式
- Java設計模式學習筆記(一) 設計模式概述Java設計模式筆記
- Qt5.9 UI設計(七)——統一樣式設計QTUI
- 23種設計模式(一)---簡單工廠設計模式設計模式
- Laravel model validationLaravel
- v-model
- transformer model architectureORM