Skip to content

Commit 03f81e5

Browse files
authored
Merge pull request #37 from golony6449/feature/init-program
프로그램 앱 추가 및 세션/세션 유형 관련 모델 추가
2 parents 6e579c5 + 9aa3c0d commit 03f81e5

File tree

7 files changed

+88
-0
lines changed

7 files changed

+88
-0
lines changed

program/__init__.py

Whitespace-only changes.

program/admin.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.contrib import admin
2+
3+
# Register your models here.

program/apps.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class ProgramConfig(AppConfig):
5+
default_auto_field = "django.db.models.BigAutoField"
6+
name = "program"

program/migrations/__init__.py

Whitespace-only changes.

program/models.py

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
from django.contrib.auth import get_user_model
2+
from django.db import models
3+
4+
User = get_user_model()
5+
6+
7+
class ProgramCategory(models.Model):
8+
name = models.CharField(max_length=100, db_index=True)
9+
visible = models.BooleanField(default=True)
10+
created_at = models.DateTimeField(auto_now_add=True)
11+
updated_at = models.DateTimeField(auto_now=True)
12+
13+
def __str__(self):
14+
return self.name
15+
16+
17+
class Proposal(models.Model):
18+
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
19+
20+
title = models.CharField(max_length=255)
21+
brief = models.TextField(max_length=1000, help_text="리뷰용: 발표에 대한 간단한 설명.")
22+
desc = models.TextField(max_length=4000, help_text="리뷰용: 발표에 대한 자세한 설명")
23+
comment = models.TextField(
24+
max_length=4000, null=True, blank=True, help_text="리뷰용: 파준위에게 전하고 싶은 말"
25+
)
26+
27+
difficulty = models.CharField(
28+
max_length=1,
29+
choices=(
30+
("B", "Beginner"),
31+
("I", "Intermediate"),
32+
("E", "Experienced"),
33+
),
34+
)
35+
36+
duration = models.CharField(
37+
max_length=1,
38+
choices=(
39+
("S", "25min"),
40+
("L", "40min"),
41+
),
42+
)
43+
44+
language = models.CharField(
45+
max_length=1,
46+
choices=(
47+
("", "---------"),
48+
("K", "Korean"),
49+
("E", "English"),
50+
),
51+
default="",
52+
)
53+
54+
category = models.ForeignKey(
55+
ProgramCategory, on_delete=models.SET_DEFAULT, null=True, blank=True, default=14
56+
)
57+
accepted = models.BooleanField(default=False)
58+
introduction = models.TextField(
59+
max_length=2000,
60+
null=True,
61+
blank=True,
62+
help_text="발표 소개 페이지에 들어가는 내용입니다. 변경 사항은 최대 60분 이내에 적용됩니다.",
63+
)
64+
video_url = models.CharField(
65+
max_length=255, null=True, blank=True, help_text="발표 영상 URL"
66+
)
67+
slide_url = models.CharField(
68+
max_length=255, null=True, blank=True, help_text="발표 자료 URL"
69+
)
70+
track_num = models.IntegerField(null=True, blank=True, help_text="트랙 번호")
71+
72+
def __str__(self):
73+
return self.title

program/tests.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.test import TestCase
2+
3+
# Create your tests here.

program/views.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.shortcuts import render
2+
3+
# Create your views here.

0 commit comments

Comments
 (0)