Skip to content

Commit 873737b

Browse files
committed
update: django import export
1 parent 43333cc commit 873737b

File tree

3 files changed

+21
-6
lines changed

3 files changed

+21
-6
lines changed

session/admin.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
from django.contrib import admin
22

3+
from import_export.admin import ImportExportModelAdmin
4+
35
from .models import Proposal, Session, Category
6+
from .resources import SessionResource
47

58

69
@admin.register(Proposal)
@@ -20,7 +23,7 @@ class ProposalAdmin(admin.ModelAdmin):
2023

2124

2225
@admin.register(Session)
23-
class SessionAdmin(admin.ModelAdmin):
26+
class SessionAdmin(ImportExportModelAdmin):
2427
list_display = [
2528
"id",
2629
"title",
@@ -32,6 +35,7 @@ class SessionAdmin(admin.ModelAdmin):
3235
]
3336
list_filter = ["difficulty", "duration", "language", "category"]
3437
search_fields = ["title", "user__username"]
38+
resource_class = SessionResource
3539

3640

3741
@admin.register(Category)

session/resources.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import datetime
2+
3+
from import_export import resources, fields
4+
from import_export.widgets import ForeignKeyWidget
5+
6+
from session.models import Session, Category
7+
8+
9+
class SessionResource(resources.ModelResource):
10+
def before_save_instance(self, instance: Session, using_transactions, dry_run):
11+
instance.start_at = datetime.datetime.now()
12+
13+
class Meta:
14+
model = Session
15+
fields = ["id", "title", "difficulty", "duration", "language", "category"]

session/serializers.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,7 @@ def to_representation(self, instance: Session):
6969
if instance.user is not None:
7070
response["user"] = UserExtSerializer(instance.user.userext).data
7171
else:
72-
response["user"] = {
73-
"nickname": "",
74-
"bio": "",
75-
"profile_img": ""
76-
}
72+
response["user"] = None
7773

7874
return response
7975

0 commit comments

Comments
 (0)