更改表结构

This commit is contained in:
ygm1881
2022-05-09 12:11:01 +08:00
parent feac79096d
commit 108cffff31
52 changed files with 103 additions and 84 deletions
-39
View File
@@ -1,39 +0,0 @@
from django.db import models
from django.core.validators import validate_comma_separated_integer_list
class Department(models.Model):
did = models.IntegerField("部门ID")
department = models.CharField("部门", max_length=10) # 如“程序部”
department_en = models.CharField("部门英文名称", max_length=30) # 如“程序部”
content = models.CharField("内容", max_length=800) # 如部门介绍/部门要求
introduction = models.CharField("介绍", max_length=800) # 如部门介绍/部门要求
class Meta:
db_table = 'it_Department'
verbose_name_plural = u'部门详情'
class History(models.Model):
grade = models.IntegerField("年级")
did = models.IntegerField("部门ID")
department = models.CharField("部门", max_length=10) # 如“程序部”
class Meta:
db_table = 'it_History'
verbose_name_plural = u'历史表'
class Members(models.Model):
# 默认id作为成员id
avatar = models.ImageField("头像", upload_to="avatar", blank=True)
did = models.IntegerField("所属部门ID", default=0)
grade = models.IntegerField("年级")
name = models.CharField("成员姓名", max_length=10)
motto = models.CharField("座右铭", max_length=30)
department = models.CharField("所属部门", max_length=10)
class Meta:
db_table = 'it_Members'
verbose_name_plural = u'部门成员'
+4 -4
View File
@@ -46,10 +46,10 @@ INSTALLED_APPS = [
'django.contrib.messages', 'django.contrib.messages',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'rest_framework', 'rest_framework',
'Apps.enroll', 'apps.enroll',
'Apps.history', 'apps.history',
'Apps.comments', 'apps.comments',
'Apps.work', 'apps.work',
] ]
+4 -4
View File
@@ -20,10 +20,10 @@ from ITShowPlatform import settings
urlpatterns = [ urlpatterns = [
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
path('v1/api/', include('Apps.comments.urls')), path('v1/api/', include('apps.comments.urls')),
path('v1/api/', include('Apps.history.urls')), path('v1/api/', include('apps.history.urls')),
path('v1/api/', include('Apps.enroll.urls')), path('v1/api/', include('apps.enroll.urls')),
path('v1/api/', include('Apps.work.urls')), path('v1/api/', include('apps.work.urls')),
path(r'^api-auth/', include('rest_framework.urls')), path(r'^api-auth/', include('rest_framework.urls')),
re_path(r'^media/(?P<path>.*)', serve, {"document_root": settings.MEDIA_ROOT}), re_path(r'^media/(?P<path>.*)', serve, {"document_root": settings.MEDIA_ROOT}),
] ]
@@ -3,4 +3,4 @@ from django.apps import AppConfig
class CommentsConfig(AppConfig): class CommentsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField' default_auto_field = 'django.db.models.BigAutoField'
name = 'Apps.comments' name = 'apps.comments'
+1 -1
View File
@@ -3,4 +3,4 @@ from django.apps import AppConfig
class EnrollConfig(AppConfig): class EnrollConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField' default_auto_field = 'django.db.models.BigAutoField'
name = 'Apps.enroll' name = 'apps.enroll'
@@ -1,8 +1,12 @@
from pathlib import Path
from random import Random # 用于生成随机码 from random import Random # 用于生成随机码
from django.core.mail import send_mail # 发送邮件模块 from django.core.mail import send_mail # 发送邮件模块
from Apps.enroll.models import EmailVerifyRecord # 邮箱验证model from apps.enroll.models import EmailVerifyRecord # 邮箱验证model
from django.conf import settings # setting.py添加的的配置信息 from django.conf import settings # setting.py添加的的配置信息
import random import random
import os
BASE_DIR = Path(__file__).resolve().parent.parent
# 生成随机字符串 # 生成随机字符串
@@ -38,7 +42,8 @@ def send_code_email(email):
email_title = "" email_title = ""
email_body = "" email_body = ""
email_title = "注册激活" email_title = "注册激活"
file = open("/email_body") # file = open("/email_body")
file = open(os.path.join(BASE_DIR, "enroll", "email_body"))
email_body = str(file.read).format(code) email_body = str(file.read).format(code)
# 发送邮件 # 发送邮件
send_status = send_mail(email_title, email_body, settings.EMAIL_FROM, [email]) send_status = send_mail(email_title, email_body, settings.EMAIL_FROM, [email])
+18 -21
View File
@@ -2,24 +2,24 @@ from django.db import models
# Create your models here. # Create your models here.
class Department(models.Model): # class Department(models.Model):
class Meta: # class Meta:
verbose_name_plural = u"部门信息" # verbose_name_plural = u"部门信息"
#
# department = [ # # department = [
# (0, "系统维护"), # # (0, "系统维护"),
# (1, "APP开发"), # # (1, "APP开发"),
# (2, "Web开发"), # # (2, "Web开发"),
# (3, "程序开发"), # # (3, "程序开发"),
# (4, "游戏开发"), # # (4, "游戏开发"),
# (5, "UI设计") # # (5, "UI设计")
# ] # # ]
# id = models.IntegerField(verbose_name="部门ID", choices=department, primary_key=True) # # id = models.IntegerField(verbose_name="部门ID", choices=department, primary_key=True)
name = models.CharField(max_length=10, verbose_name="部门名称") # name = models.CharField(max_length=10, verbose_name="部门名称")
picture = models.ImageField(verbose_name="部门图标") # picture = models.ImageField(verbose_name="部门图标")
#
def __str__(self): # def __str__(self):
return self.name # return self.name
class NewMember(models.Model): class NewMember(models.Model):
@@ -61,9 +61,6 @@ class NewMember(models.Model):
expectation = models.TextField(max_length=200, verbose_name="期待的话") expectation = models.TextField(max_length=200, verbose_name="期待的话")
status = models.SmallIntegerField(choices=schedules, default=0, verbose_name="报名状态") status = models.SmallIntegerField(choices=schedules, default=0, verbose_name="报名状态")
# verification_code = models.ForeignKey("EmailVerifyRecord", on_delete=models.DO_NOTHING, verbose_name="邮箱验证码")
# verification_code = models.CharField(max_length=4)
def __str__(self): def __str__(self):
return self.name return self.name
@@ -1,6 +1,6 @@
from rest_framework import serializers from rest_framework import serializers
from rest_framework.validators import UniqueValidator from rest_framework.validators import UniqueValidator
from Apps.enroll.models import Department, NewMember, EmailVerifyRecord from apps.enroll.models import Department, NewMember, EmailVerifyRecord
import time import time
from utils.get_error_msg import get_error_msg from utils.get_error_msg import get_error_msg
@@ -1,11 +1,11 @@
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.generics import GenericAPIView from rest_framework.generics import GenericAPIView
from Apps.enroll.models import Department, EmailVerifyRecord, NewMember from apps.enroll.models import Department, EmailVerifyRecord, NewMember
from Apps.enroll.serializers import DepartmentSerializer, NewMemberSerializer, NewMemberScheduleSerializer, \ from apps.enroll.serializers import DepartmentSerializer, NewMemberSerializer, NewMemberScheduleSerializer, \
SendEmailSerializer SendEmailSerializer
from rest_framework import status from rest_framework import status
from rest_framework.views import APIView from rest_framework.views import APIView
from Apps.enroll.email import send_code_email from apps.enroll.email import send_code_email
from utils.get_error_msg import get_error_msg from utils.get_error_msg import get_error_msg
import re import re
import time import time
@@ -3,4 +3,4 @@ from django.apps import AppConfig
class TodoListConfig(AppConfig): class TodoListConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField' default_auto_field = 'django.db.models.BigAutoField'
name = 'Apps.history' name = 'apps.history'
+56
View File
@@ -0,0 +1,56 @@
from django.db import models
from django.core.validators import MaxValueValidator, MinValueValidator
from datetime import datetime
class Department(models.Model):
id = models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='部门ID')
# did = models.IntegerField("部门ID")
department_cn = models.CharField("部门名称", max_length=10) # 如“程序部”
department_en = models.CharField("部门英文名称", max_length=30) # 如“程序部”
picture = models.ImageField(verbose_name="部门图标", default=0)
content = models.CharField("内容", max_length=800) # 如部门介绍/部门要求
introduction = models.CharField("介绍", max_length=800) # 如部门介绍/部门要求
status = models.SmallIntegerField("部门状态", choices=[(0, "解散"), (1, "健在")], default=1)
class Meta:
db_table = 'it_Department'
verbose_name_plural = '部门详情'
def __str__(self):
return self.department
class History(models.Model):
# grade = models.IntegerField("年级")
years = models.IntegerField("年份", default=int(datetime.now().strftime('%Y')), validators=[
MaxValueValidator(2300),
MinValueValidator(2010)
])
# did = models.IntegerField("部门ID")
# did = models.ForeignKey(Department, on_delete=models.DO_NOTHING(), related_name="history", verbose_name="部门id")
# department = models.CharField("部门", max_length=10) # 如“程序部”
department = models.ForeignKey(Department, on_delete=models.DO_NOTHING, related_name="history", verbose_name="部门")
class Meta:
db_table = 'it_History'
verbose_name_plural = '历史表'
def __str__(self):
return self.department
class Members(models.Model):
# 默认id作为成员id
avatar = models.ImageField("头像", upload_to="avatar", blank=True)
did = models.IntegerField("所属部门ID", default=0)
grade = models.IntegerField("年级")
name = models.CharField("成员姓名", max_length=10)
motto = models.CharField("座右铭", max_length=30)
# department = models.CharField("所属部门", max_length=10)
department = models.ForeignKey(Department, on_delete=models.DO_NOTHING, related_name="member",
verbose_name="所属部门")
class Meta:
db_table = 'it_Members'
verbose_name_plural = '部门成员'
@@ -1,7 +1,7 @@
import re import re
from rest_framework import serializers from rest_framework import serializers
from Apps.history import * from apps.history import *
from Apps.history.models import Department, Members, History from apps.history.models import Department, Members, History
def validate_department(value): def validate_department(value):
@@ -1,7 +1,7 @@
from django.conf.urls.static import static from django.conf.urls.static import static
from ITShowPlatform import settings from ITShowPlatform import settings
from django.urls import path from django.urls import path
from Apps.history.views import DepartmentViewSet, MemberViewSet, HistoryViewSet from apps.history.views import DepartmentViewSet, MemberViewSet, HistoryViewSet
urlpatterns = [ urlpatterns = [
path('department/', DepartmentViewSet.as_view()), path('department/', DepartmentViewSet.as_view()),
@@ -1,12 +1,12 @@
from rest_framework.views import APIView from rest_framework.views import APIView
from Apps.history import * from apps.history import *
from rest_framework.response import Response from rest_framework.response import Response
from django.db.models import Q from django.db.models import Q
from django.utils.decorators import method_decorator from django.utils.decorators import method_decorator
from django.views.decorators.csrf import csrf_exempt from django.views.decorators.csrf import csrf_exempt
from Apps.history.models import Members, History, Department from apps.history.models import Members, History, Department
from Apps.history.serializers import MembersSerializer, HistorySerializer, DepartmentSerializer from apps.history.serializers import MembersSerializer, HistorySerializer, DepartmentSerializer
class DepartmentViewSet(APIView): class DepartmentViewSet(APIView):
+1 -1
View File
@@ -3,4 +3,4 @@ from django.apps import AppConfig
class WorksConfig(AppConfig): class WorksConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField' default_auto_field = 'django.db.models.BigAutoField'
name = 'Apps.work' name = 'apps.work'