Bawar Rwandzy
Bawar Rwandzy

Reputation: 11

Null value error, I am using Django rest framework and when I want to get enrolled data inside login response it gives me null instate of the values

I want to get enrolled courses for individual student with login I put enrolled model inside the login response put it will give me null instate of courses here is me output and code

output:

{
    "token": "4b6d75942dbbbcc484fb6c556b1ce6ebf2c73142",
    "user": {
        "id": 14,
        "username": "enrolltestt",
        "mobile_no": "07746505150",
        "is_student": true,
        "device_id": ""
    },
    "is_student": true,
    "enrolled": [
        {
            "course": null,
            "student": null,
            "is_active": false
        }
    ]

here is my views.py

class CustomAuthToken(ObtainAuthToken):
    def post(self,request,*args,**kwargs):
        serializer=self.serializer_class(data=request.data, context={'request':request})
        serializer.is_valid(raise_exception=True)
        user=serializer.validated_data['user']
        token,created=Token.objects.get_or_create(user=user)
        enrolled=StudentCourseEnrollSerializer(context=self.get_serializer_context()).data,
        return Response({
            'token':token.key,
            'user':UserSerializer(user, context=self.get_serializer_context()).data,
            'is_student':user.is_student,
            'enrolled':enrolled
        })

models.py

enteclass User(AbstractUser):
is_student=models.BooleanField(default=False)
is_teacher=models.BooleanField(default=False)
mobile_no=models.CharField(max_length=200)
device_id=models.CharField(max_length=200,blank=True)

USERNAME_FIELD = 'username'

def __str__(self):
    return self.username

class Meta:
    verbose_name_plural="1.User"

@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_auth_token(sender, instance=None, 
created=False,**kwargs):
if created:
    Token.objects.create(user=instance)

#student course enrollment
class StudentCourseEnrollment(models.Model):
course=models.ForeignKey(Course,on_delete=models.CASCADE,related_name='enrolled_courses')
student=models.ForeignKey(User,on_delete=models.CASCADE,related_name='enrolled_student')
is_active=models.BooleanField(default=False)
enrolled_time=models.DateTimeField(auto_now_add=True)r code here

can someone help me

Upvotes: 1

Views: 44

Answers (0)

Related Questions