Skip to content

Commit 423a207

Browse files
committed
fix: 세션 모델을 새 설계에 맞게 수정
1 parent f583f84 commit 423a207

File tree

3 files changed

+96
-21
lines changed

3 files changed

+96
-21
lines changed
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Generated by Django 5.2 on 2025-06-22 11:32
2+
3+
import core.models
4+
import django.db.models.deletion
5+
from django.db import migrations, models
6+
7+
8+
class Migration(migrations.Migration):
9+
dependencies = [
10+
("file", "0001_initial"),
11+
("presentation", "0005_alter_historicalpresentationspeaker_biography_and_more"),
12+
]
13+
14+
operations = [
15+
migrations.RemoveField(
16+
model_name="historicalpresentation",
17+
name="page",
18+
),
19+
migrations.RemoveField(
20+
model_name="presentation",
21+
name="page",
22+
),
23+
migrations.AddField(
24+
model_name="historicalpresentation",
25+
name="description",
26+
field=core.models.MarkdownField(blank=True, default=""),
27+
),
28+
migrations.AddField(
29+
model_name="historicalpresentation",
30+
name="description_en",
31+
field=core.models.MarkdownField(blank=True, default="", null=True),
32+
),
33+
migrations.AddField(
34+
model_name="historicalpresentation",
35+
name="description_ko",
36+
field=core.models.MarkdownField(blank=True, default="", null=True),
37+
),
38+
migrations.AddField(
39+
model_name="historicalpresentation",
40+
name="image",
41+
field=models.ForeignKey(
42+
blank=True,
43+
db_constraint=False,
44+
null=True,
45+
on_delete=django.db.models.deletion.DO_NOTHING,
46+
related_name="+",
47+
to="file.publicfile",
48+
),
49+
),
50+
migrations.AddField(
51+
model_name="historicalpresentationspeaker",
52+
name="image",
53+
field=models.ForeignKey(
54+
blank=True,
55+
db_constraint=False,
56+
null=True,
57+
on_delete=django.db.models.deletion.DO_NOTHING,
58+
related_name="+",
59+
to="file.publicfile",
60+
),
61+
),
62+
migrations.AddField(
63+
model_name="presentation",
64+
name="description",
65+
field=core.models.MarkdownField(blank=True, default=""),
66+
),
67+
migrations.AddField(
68+
model_name="presentation",
69+
name="description_en",
70+
field=core.models.MarkdownField(blank=True, default="", null=True),
71+
),
72+
migrations.AddField(
73+
model_name="presentation",
74+
name="description_ko",
75+
field=core.models.MarkdownField(blank=True, default="", null=True),
76+
),
77+
migrations.AddField(
78+
model_name="presentation",
79+
name="image",
80+
field=models.ForeignKey(
81+
blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to="file.publicfile"
82+
),
83+
),
84+
migrations.AddField(
85+
model_name="presentationspeaker",
86+
name="image",
87+
field=models.ForeignKey(
88+
blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to="file.publicfile"
89+
),
90+
),
91+
]

app/event/presentation/models.py

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
from __future__ import annotations
22

3-
import collections.abc
4-
import contextlib
5-
import functools
6-
73
from core.models import BaseAbstractModel, BaseAbstractModelQuerySet, MarkdownField
84
from django.contrib.auth import get_user_model
95
from django.db import models
106
from event.models import Event
7+
from file.models import PublicFile
118

129
User = get_user_model()
1310

@@ -65,29 +62,15 @@ def __str__(self) -> str:
6562
class Presentation(BaseAbstractModel):
6663
type = models.ForeignKey(PresentationType, on_delete=models.PROTECT)
6764
title = models.CharField(max_length=256)
68-
page = models.ForeignKey(to="cms.Page", on_delete=models.PROTECT, null=True, blank=True)
69-
65+
description = MarkdownField(blank=True, default="")
66+
image = models.ForeignKey(PublicFile, on_delete=models.PROTECT, null=True, blank=True)
7067
categories = models.ManyToManyField(to="PresentationCategory", through="PresentationCategoryRelation")
7168

7269
objects: PresentationQuerySet = PresentationQuerySet.as_manager()
7370

7471
def __str__(self) -> str:
7572
return f"[{self.type.name}] {self.title}"
7673

77-
@functools.cached_property
78-
def active_categories(self) -> collections.abc.Iterable[PresentationCategory]:
79-
with contextlib.suppress(AttributeError):
80-
return self._prefetched_active_categories
81-
82-
return self.categories.filter_active()
83-
84-
@functools.cached_property
85-
def active_speakers(self) -> collections.abc.Iterable[PresentationSpeaker]:
86-
with contextlib.suppress(AttributeError):
87-
return self._prefetched_active_speakers
88-
89-
return self.speakers.filter_active().select_related("user")
90-
9174

9275
class PresentationCategoryRelation(models.Model):
9376
presentation = models.ForeignKey(Presentation, on_delete=models.CASCADE)
@@ -97,4 +80,5 @@ class PresentationCategoryRelation(models.Model):
9780
class PresentationSpeaker(BaseAbstractModel):
9881
presentation = models.ForeignKey(Presentation, on_delete=models.PROTECT, related_name="speakers")
9982
user = models.ForeignKey(User, on_delete=models.PROTECT)
83+
image = models.ForeignKey(PublicFile, on_delete=models.PROTECT, null=True, blank=True)
10084
biography = MarkdownField(blank=True, default="")

app/event/presentation/translation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class PresentationCategoryTranslationOptions(TranslationOptions):
1414

1515
@register(Presentation)
1616
class PresentationTranslationOptions(TranslationOptions):
17-
fields = ("title",)
17+
fields = ("title", "description")
1818

1919

2020
@register(PresentationSpeaker)

0 commit comments

Comments
 (0)