diff --git a/teleband/users/api/serializers.py b/teleband/users/api/serializers.py index efb3aa7..654c952 100644 --- a/teleband/users/api/serializers.py +++ b/teleband/users/api/serializers.py @@ -41,4 +41,4 @@ class Meta: class UserInstrumentConfigSerializer(serializers.ModelSerializer): class Meta: model = InstrumentConfig - fields = ["id", "name", "description", "settings"] + fields = ["id", "name", "description", "settings", "file"] diff --git a/teleband/users/api/views.py b/teleband/users/api/views.py index 24f36fa..a21e928 100644 --- a/teleband/users/api/views.py +++ b/teleband/users/api/views.py @@ -34,7 +34,7 @@ ) from teleband.courses.models import Enrollment, Course from teleband.users.models import InstrumentConfig - +from django.db.models import Q User = get_user_model() Invitation = get_invitation_model() @@ -153,8 +153,12 @@ class UserInstrumentConfigViewSet(ModelViewSet): serializer_class = UserInstrumentConfigSerializer queryset = InstrumentConfig.objects.all() + def get_queryset(self): - return self.request.user.instrumentconfig_set.all() + return InstrumentConfig.objects.filter(Q(user=self.request.user) | Q(user=None)) + + def perform_create(self, serializer): + serializer.save(user=self.request.user) obtain_delete_auth_token = ObtainDeleteAuthToken.as_view()