Skip to content

Commit d944648

Browse files
committed
Adapt to Django 6.0
1 parent 2de2063 commit d944648

8 files changed

Lines changed: 181 additions & 13 deletions

File tree

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Generated by Django 6.0 on 2025-12-21 20:19
2+
3+
from django.conf import settings
4+
from django.db import migrations, models
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
("catalog", "0003_category_is_archive_course_is_archive"),
11+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
12+
]
13+
14+
operations = [
15+
migrations.AlterUniqueTogether(
16+
name="coursecategory",
17+
unique_together=set(),
18+
),
19+
migrations.AlterUniqueTogether(
20+
name="courseuserview",
21+
unique_together=set(),
22+
),
23+
migrations.AlterField(
24+
model_name="category",
25+
name="id",
26+
field=models.BigAutoField(
27+
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
28+
),
29+
),
30+
migrations.AlterField(
31+
model_name="course",
32+
name="id",
33+
field=models.BigAutoField(
34+
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
35+
),
36+
),
37+
migrations.AlterField(
38+
model_name="coursecategory",
39+
name="id",
40+
field=models.BigAutoField(
41+
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
42+
),
43+
),
44+
migrations.AlterField(
45+
model_name="courseuserview",
46+
name="id",
47+
field=models.BigAutoField(
48+
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
49+
),
50+
),
51+
migrations.AddConstraint(
52+
model_name="coursecategory",
53+
constraint=models.UniqueConstraint(
54+
fields=("course", "category"), name="unique_course_category"
55+
),
56+
),
57+
migrations.AddConstraint(
58+
model_name="courseuserview",
59+
constraint=models.UniqueConstraint(
60+
fields=("user", "course"), name="unique_user_course_view"
61+
),
62+
),
63+
]

catalog/models.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,11 @@ class CourseCategory(models.Model):
142142
mandatory = models.BooleanField(default=True)
143143

144144
class Meta:
145-
unique_together = ("course", "category")
145+
constraints = [
146+
models.UniqueConstraint(
147+
fields=["course", "category"], name="unique_course_category"
148+
),
149+
]
146150

147151

148152
class CourseUserView(models.Model):
@@ -152,7 +156,11 @@ class CourseUserView(models.Model):
152156
last_view = models.DateTimeField(auto_now=True)
153157

154158
class Meta:
155-
unique_together = ("user", "course")
159+
constraints = [
160+
models.UniqueConstraint(
161+
fields=["user", "course"], name="unique_user_course_view"
162+
),
163+
]
156164

157165
@classmethod
158166
def visit(cls, user, course: Course):
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Generated by Django 6.0 on 2025-12-21 20:19
2+
3+
from django.conf import settings
4+
from django.db import migrations, models
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
("documents", "0004_document_thumbnail"),
11+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
12+
]
13+
14+
operations = [
15+
migrations.AlterUniqueTogether(
16+
name="vote",
17+
unique_together=set(),
18+
),
19+
migrations.AlterField(
20+
model_name="bulkdocuments",
21+
name="id",
22+
field=models.BigAutoField(
23+
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
24+
),
25+
),
26+
migrations.AlterField(
27+
model_name="document",
28+
name="id",
29+
field=models.BigAutoField(
30+
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
31+
),
32+
),
33+
migrations.AlterField(
34+
model_name="document",
35+
name="thumbnail",
36+
field=models.FileField(blank=True, default="", upload_to="thumbnail"),
37+
),
38+
migrations.AlterField(
39+
model_name="documenterror",
40+
name="id",
41+
field=models.BigAutoField(
42+
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
43+
),
44+
),
45+
migrations.AlterField(
46+
model_name="vote",
47+
name="id",
48+
field=models.BigAutoField(
49+
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
50+
),
51+
),
52+
migrations.AddConstraint(
53+
model_name="vote",
54+
constraint=models.UniqueConstraint(
55+
fields=("user", "document"), name="unique_user_document_vote"
56+
),
57+
),
58+
]

documents/models.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class DocumentState(models.TextChoices):
5252
file_type = models.CharField(max_length=255, default="")
5353
original = models.FileField(upload_to="original_document")
5454
pdf = models.FileField(upload_to="pdf_document")
55-
thumbnail = models.FileField(upload_to="thumbnail", null=True)
55+
thumbnail = models.FileField(upload_to="thumbnail", blank=True, default="")
5656

5757
state = models.CharField(
5858
max_length=20,
@@ -179,7 +179,11 @@ class VoteType(models.TextChoices):
179179
vote_type = models.CharField(max_length=10, choices=VoteType.choices)
180180

181181
class Meta:
182-
unique_together = ("user", "document")
182+
constraints = [
183+
models.UniqueConstraint(
184+
fields=["user", "document"], name="unique_user_document_vote"
185+
),
186+
]
183187

184188

185189
class DocumentError(models.Model):

moderation/apps.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@
22

33

44
class ModerationConfig(AppConfig):
5-
default_auto_field = "django.db.models.BigAutoField"
65
name = "moderation"
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Generated by Django 6.0 on 2025-12-21 20:19
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("tags", "0001_initial"),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name="tag",
15+
name="id",
16+
field=models.BigAutoField(
17+
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
18+
),
19+
),
20+
]
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Generated by Django 6.0 on 2025-12-21 20:19
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("users", "0003_remove_user_notify_on_new_doc_and_more"),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name="user",
15+
name="id",
16+
field=models.BigAutoField(
17+
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
18+
),
19+
),
20+
]

www/settings.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@
9595
}
9696

9797
# Password validation
98-
# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators
98+
# https://docs.djangoproject.com/en/6.0/ref/settings/#auth-password-validators
9999
AUTH_PASSWORD_VALIDATORS = [
100100
{
101101
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
@@ -117,23 +117,22 @@
117117
AUTH_USER_MODEL = "users.User"
118118
LOGIN_REDIRECT_URL = "index"
119119
LOGIN_URL = "/login"
120-
SITE_ID = 1
121120

122121
AUTHENTICATION_BACKENDS = [
123122
"users.authBackend.UlbCasBackend",
124123
"django.contrib.auth.backends.ModelBackend",
125124
]
126125

127126
# Internationalization
128-
# https://docs.djangoproject.com/en/3.2/topics/i18n/
127+
# https://docs.djangoproject.com/en/6.0/topics/i18n/
129128

130129
LANGUAGE_CODE = "fr-be"
131130
TIME_ZONE = "Europe/Brussels"
132131
USE_I18N = True
133132
USE_TZ = True
134133

135134
# Static files (CSS, JavaScript, Images)
136-
# https://docs.djangoproject.com/en/3.2/howto/static-files/
135+
# https://docs.djangoproject.com/en/6.0/howto/static-files/
137136

138137
STATICFILES_DIRS = [
139138
BASE_DIR / "static",
@@ -145,8 +144,6 @@
145144
STATIC_ROOT = env("STATIC_ROOT", default=BASE_DIR / "collected_static")
146145
MEDIA_ROOT = env("MEDIA_ROOT", default=BASE_DIR / "media")
147146

148-
DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
149-
150147
BROKER_URL = env("REDIS_BROKER", default="redis://localhost:6379/0")
151148

152149
CACHES = {"default": env.cache_url("CACHE_URL", default="dummycache://")}
@@ -174,7 +171,7 @@
174171
"BACKEND": FILE_STORAGE,
175172
},
176173
"staticfiles": {
177-
"BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage",
174+
"BACKEND": "whitenoise.storage.CompressedManifestStaticFilesStorage",
178175
},
179176
}
180177

@@ -208,7 +205,6 @@
208205

209206
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
210207

211-
STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
212208
WHITENOISE_ROOT = BASE_DIR / "static" / "root"
213209

214210

0 commit comments

Comments
 (0)