from .models import *
from rest_framework import serializers
from django.contrib.postgres.fields import ArrayFieldclass QuestionSerializer(serializers.ModelSerializer):topcomment_listing = serializers.HyperlinkedIdentityField(view_name=’topcomment-list’)
class Meta:
model = Questions
fields = ['_id', 'prompt', 'shuffleoption', 'choices', 'choiceanswers',
'typename', 'topic', 'username', 'learningoutcome', 'feedback', 'draft', 'hidden']
lookup_field = '_id'
'''
#DIVIDER
class QuestionTagSerializer(serializers.HyperlinkedModelSerializer):
qid = serializers.HyperlinkedIdentityField(view_name="Quiz:QuestionByLearningOutcome-detail")
#DIVIDER
class Meta:
model = QuestionTags
fields = ['qid', 'tag']
'''class UsersSerializer(serializers.ModelSerializer): class Meta:
model = Users fields = ['email', 'username', 'password', 'created_at', 'contributor', 'student', 'professor', 'admin']
lookup_field = 'username'topcomment_listing = serializers.HyperlinkedIdentityField(view_name=’topcomment-list’)
class ReviewQuizSerializer(serializers.ModelSerializer):, ‘topcomment_listing’]
class Meta:
model = ReviewQuiz
fields = ['_id', 'questions', 'answers', 'correct',
'total', 'username', 'topic', 'correctness']class TopicsSerializer(serializers.ModelSerializer):
learningoutcomes = serializers.ListField(child=serializers.CharField())
tags = serializers.ListField(child=serializers.CharField()) class Meta:
model = Topics
fields = ['name', 'creator_id', 'tags', 'learningoutcomes']class TagsSerializer(serializers.ModelSerializer): class Meta:
model = Tags
fields = ['tag']class QuestionLearningOutComeSerializer(serializers.ModelSerializer): class Meta:
model = QuestionLearningOutCome
fields = ['qid', 'learningoutcome', 'topic']class TopicLearningOutcomeSerializer(serializers.ModelSerializer): class Meta:
model = TopicLearningOutcome
fields = ['topic', 'learningoutcome']class QuestionCommentSerializer(serializers.ModelSerializer): class Meta:
model = Questions
fields = ['_id', 'username']
lookup_field = '_id'class TopCommentSerializer(serializers.ModelSerializer): class Meta:
model = TopComment
fields = ['parentid', 'commentid', 'comment', 'user', 'date']
lookup_field = 'commentid'class ChildCommentSerializer(serializers.ModelSerializer):parentid = QuestionCommentSerializer() parentid = serializers.HyperlinkedRelatedField(queryset=Questions.objects.all(), view_name=’question-detail’, lookup_field=’_id’) user = serializers.HyperlinkedRelatedField(view_name=’users-detail’,read_only=True, lookup_field=’username’)
class Meta:
model = ChildComment
fields = ['parentid', 'id', 'comment', 'user', 'date']class QuestionRatingsSerializer(serializers.ModelSerializer):topcommentid = serializers.HyperlinkedRelatedField(view_name=’topcomment-detail’,read_only=True, lookup_field=’commentid’) user = serializers.HyperlinkedRelatedField(view_name=’users-detail’,read_only=True, lookup_field=’username’)
class Meta:
model = QuestionRatings
fields = ['qid', 'username', 'rating']