(一)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 元件元件
- 淺析 DjangoModel 設計禪道Django
- qt model view 程式設計總結QTView程式設計
- 設計模式應用場景之Model設計中可以用到的設計模式設計模式
- Model設計中常見的技巧和注意事項
- Django:動態問卷系統的Model設計Django
- 部落格專案環境搭建和Model設計
- iOS-APP重構之路(二) Model的設計iOSAPP
- Model1方式實現DAO設計模式設計模式
- Unity應用架構設計(4)——設計可複用的SubView和SubViewModel(Part 1)Unity應用架構View
- django中建立一個ModelDjango
- ModelMaker 新手起步(一) (轉)
- ViewModel 和 LiveData:為設計模式打 Call 還是唱反調?ViewLiveData設計模式
- 第五課第一週程式設計作業assignment-Dinosaurus+Island+--+Character+level+language+model+final程式設計
- JavaScript設計模式(一)設計原則JavaScript設計模式
- 設計模式(一)設計模式
- Unity應用架構設計 ViewModel之間實現共享資料Unity應用架構View
- Unity應用架構設計(5)——ViewModel之間如何共享資料Unity應用架構View
- modelsim指令碼模擬設計(三)帶標頭檔案模擬指令碼
- Model類的一個return作用
- 《YYModel原始碼分析(一)YYClassInfo》原始碼
- YYModel原始碼閱讀(一)原始碼
- 定義一個巨大的model
- 一.設計模式之工廠設計模式設計模式
- 【系統設計】設計一個限流元件元件
- 【乾貨】遊戲介面設計 (一)核心設計遊戲
- MatlabGUI設計專題一--表格設計MatlabGUI
- Java設計模式(一):設計模式概述、UML圖、設計原則Java設計模式
- Hermit:一位程式設計師設計的程式設計字型MIT程式設計師
- machine learning model(algorithm model) .vs. statistical modelMacGo
- MFC程式設計(一)C程式程式設計
- 【設計模式】設計模式(一)-- 大話設計模式讀書筆記設計模式筆記
- SpringMVC裡的Model、Map、ModelMap以及ModelAndViewSpringMVCView
- ModelViewSet-modelserializerView
- 關於diffusion model一些統計和數學的基礎知識
- 西門子NX以ConvergentModeling實現產品設計的又一重大突破
- 聊一聊設計模式(二)-- 建立型設計模式設計模式
- 設計模式(一)學習設計模式的好處設計模式