Skip to content

Commit 868defd

Browse files
committed
Добалвены новые поля в модель Проект с данными для МосПолитеха; Добалевны новые поля в Проекты для реадктирования в админке
1 parent 2cf2708 commit 868defd

3 files changed

Lines changed: 181 additions & 0 deletions

File tree

projects/admin.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,67 @@ class ProjectAdmin(admin.ModelAdmin):
1717
"name",
1818
"draft",
1919
"is_company",
20+
"track",
21+
"direction",
22+
"specialty",
2023
)
2124
list_display_links = (
2225
"id",
2326
"name",
2427
)
28+
search_fields = (
29+
"name",
30+
"track",
31+
"specialty",
32+
)
33+
list_filter = (
34+
"draft",
35+
"is_company",
36+
"track",
37+
"direction",
38+
"specialty",
39+
)
40+
41+
fieldsets = (
42+
("Основная информация", {
43+
"fields": (
44+
"name",
45+
"description",
46+
"leader",
47+
"industry",
48+
"region",
49+
"step",
50+
"draft",
51+
"is_company",
52+
)
53+
}),
54+
("Для проектов ПД МосПолитеха", {
55+
"fields": (
56+
"track",
57+
"direction",
58+
"specialty",
59+
"actuality",
60+
"goal",
61+
"problem",
62+
)
63+
}),
64+
("Медиа и обложка", {
65+
"fields": (
66+
"presentation_address",
67+
"image_address",
68+
"cover",
69+
"cover_image_address",
70+
)
71+
}),
72+
("Служебные поля", {
73+
"fields": (
74+
"hidden_score",
75+
"datetime_created",
76+
"datetime_updated",
77+
)
78+
}),
79+
)
80+
readonly_fields = ("datetime_created", "datetime_updated")
2581

2682

2783
@admin.register(ProjectNews)
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Generated by Django 4.2.11 on 2025-07-03 08:53
2+
3+
import django.core.validators
4+
from django.db import migrations, models
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
("projects", "0023_project_cover_image_address"),
11+
]
12+
13+
operations = [
14+
migrations.AddField(
15+
model_name="project",
16+
name="actuality",
17+
field=models.TextField(
18+
blank=True,
19+
help_text="Почему проект важен (до 1000\u202fсимв.)",
20+
null=True,
21+
validators=[django.core.validators.MaxLengthValidator(1000)],
22+
verbose_name="Актуальность",
23+
),
24+
),
25+
migrations.AddField(
26+
model_name="project",
27+
name="direction",
28+
field=models.CharField(
29+
blank=True,
30+
help_text="Более общее направление деятельности проекта",
31+
max_length=256,
32+
null=True,
33+
verbose_name="Направление",
34+
),
35+
),
36+
migrations.AddField(
37+
model_name="project",
38+
name="goal",
39+
field=models.CharField(
40+
blank=True,
41+
help_text="Главная цель проекта (до 500\u202fсимв.)",
42+
max_length=500,
43+
null=True,
44+
verbose_name="Цель",
45+
),
46+
),
47+
migrations.AddField(
48+
model_name="project",
49+
name="problem",
50+
field=models.TextField(
51+
blank=True,
52+
help_text="Какую проблему решает проект (до 1000\u202fсимв.)",
53+
null=True,
54+
validators=[django.core.validators.MaxLengthValidator(1000)],
55+
verbose_name="Проблема",
56+
),
57+
),
58+
migrations.AddField(
59+
model_name="project",
60+
name="specialty",
61+
field=models.CharField(
62+
blank=True,
63+
help_text="Специализация проекта",
64+
max_length=256,
65+
null=True,
66+
verbose_name="Специальность",
67+
),
68+
),
69+
migrations.AddField(
70+
model_name="project",
71+
name="track",
72+
field=models.CharField(
73+
blank=True,
74+
help_text="Направление/курс, в рамках которого реализуется проект",
75+
max_length=256,
76+
null=True,
77+
verbose_name="Трек",
78+
),
79+
),
80+
]

projects/models.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
from django.contrib.auth import get_user_model
44
from django.contrib.contenttypes.fields import GenericRelation
5+
from django.core.validators import MaxLengthValidator
56
from django.db import models
67
from django.db.models import UniqueConstraint
78

9+
810
from core.models import Like, View
911
from files.models import UserFile
1012
from industries.models import Industry
@@ -88,6 +90,49 @@ class Project(models.Model):
8890
step = models.PositiveSmallIntegerField(choices=VERBOSE_STEPS, null=True, blank=True)
8991
hidden_score = models.PositiveSmallIntegerField(default=100)
9092

93+
track = models.CharField(
94+
max_length=256,
95+
blank=True,
96+
null=True,
97+
verbose_name="Трек",
98+
help_text="Направление/курс, в рамках которого реализуется проект",
99+
)
100+
direction = models.CharField(
101+
max_length=256,
102+
blank=True,
103+
null=True,
104+
verbose_name="Направление",
105+
help_text="Более общее направление деятельности проекта",
106+
)
107+
specialty = models.CharField(
108+
max_length=256,
109+
blank=True,
110+
null=True,
111+
verbose_name="Специальность",
112+
help_text="Специализация проекта",
113+
)
114+
actuality = models.TextField(
115+
blank=True,
116+
null=True,
117+
validators=[MaxLengthValidator(1000)],
118+
verbose_name="Актуальность",
119+
help_text="Почему проект важен (до 1000 симв.)",
120+
)
121+
goal = models.CharField(
122+
max_length=500,
123+
blank=True,
124+
null=True,
125+
verbose_name="Цель",
126+
help_text="Главная цель проекта (до 500 симв.)",
127+
)
128+
problem = models.TextField(
129+
blank=True,
130+
null=True,
131+
validators=[MaxLengthValidator(1000)],
132+
verbose_name="Проблема",
133+
help_text="Какую проблему решает проект (до 1000 симв.)",
134+
)
135+
91136
industry = models.ForeignKey(
92137
Industry,
93138
on_delete=models.SET_NULL,

0 commit comments

Comments
 (0)