from django.db import models
from users.models import User
import re
from django.utils.translation import ugettext as _

class Category(models.Model):

category = models.CharField(
max_length=250, blank=True,
unique=True, null=True)

def __str__(self):
return self.category


class EvaluationTest(models.Model):
title = models.CharField(max_length=50, blank=False)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
admin = models.ForeignKey(User, on_delete=models.CASCADE)
type = models.CharField(max_length=50)

def __str__(self):
return self.title


class GradeEvaluationText(models.Model):
candidate = models.ForeignKey(User, on_delete=models.CASCADE)
evaluationtest = models.ForeignKey(
EvaluationTest, on_delete=models.SET_NULL, blank=True, null=True)
grades = models.FloatField()

def __str__(self):
return self.candidate.username


class Choice(models.Model):
title = models.CharField(max_length=50)

def __str__(self):
return self.title


class Question(models.Model):
question = models.CharField(max_length=200)
choices = models.ManyToManyField(Choice)
answer = models.ForeignKey(
Choice, on_delete=models.CASCADE, related_name='answer', blank=True, null=
True)
evaluationtest = models.ForeignKey(
EvaluationTest, on_delete=models.CASCADE, related_name='questions', blank=
True, null=True)
order = models.SmallIntegerField()

def __str__(self):
return self.question

MODELS.py
On Thursday, March 28, 2019 at 1:02:26 PM UTC+1, RyuCoder wrote:
>
> What needs to happen?? 
> What is happening right now? 
> Is there any other code one might need to see? 
>
> Without above info none can help you. 
>
>
> Regards,
> Chetan Ganji
> +91-900-483-4183
> ganji...@gmail.com <javascript:>
> http://ryucoder.in
>
>
> On Thu, Mar 28, 2019 at 4:55 PM zohaib younis <zabi.j...@gmail.com 
> <javascript:>> wrote:
>
>> class EvaluationTestSerializer(serializers.ModelSerializer):
>> questions = serializers.SerializerMethodField()
>> admin = StringSerializer(many=False)
>> category = StringSerializer(many=False)
>> class Meta:
>> model = EvaluationTest
>> fields='__all__'
>>
>> def get_questions(self,obj):
>> questions = QuestionSerializer(obj.questions.all(), many=True).data
>> return questions
>>
>> def create(self,request):
>> data = request.data
>> print(data)
>> evaluationtest = EvaluationTest()
>> admin= User.objects.get(username=data['admin'])
>> cat=Category.objects.get(id=data['category'])
>> print(cat)
>> evaluationtest.category=cat
>> evaluationtest.admin = admin
>> evaluationtest.title = data['title']
>> evaluationtest.type = data['type']
>> evaluationtest.save()
>> order = 1
>> for q in data['questions']:
>> newQ = Question()
>> newQ.question=q['title']
>> newQ.order = order
>> newQ.save()
>>
>> for c in q['choices']:
>> newC = Choice()
>> newC.title = c
>> newC.save()
>> newQ.choices.add(newC)
>> newQ.answer = Choice.objects.get(title=q['answer'])
>> newQ.evaluationtest = evaluationtest
>> newQ.save()
>> order += 1
>> return evaluationtest
>>
>> # def update(self,instance,validated_data):
>> # # data = request.data
>> # # print(data)
>> # # evaluationtest = EvaluationTest()
>> # # admin= User.objects.get('username')
>> # # cat=Category.objects.get('id')
>> # # print(cat)
>> # # instance.category=cat
>> # instance.category = validated_data.get('id',instance.category)
>> # instance.title = validated_data.get('title',instance.title)
>> # instance.type = validated_data.get('type',instance.type)
>> # instance.save()
>>
>> # instance = EvaluationTest()
>> # # keep_questions=[]
>> # # existing_id=[q.id for q in instance.questions]
>> # order = 1
>> # for q in instance['questions']:
>> # newQ = Question()
>> # newQ.question=q['title']
>> # newQ.order = order
>> # newQ.save()
>>
>> # for c in q['choices']:
>> # newC = Choice()
>> # newC.title = c
>> # newC.save()
>> # newQ.choices.add(newC)
>> # newQ.answer = Choice.objects.get(title=q['answer'])
>> # newQ.instance = instance
>> # newQ.save()
>> # order += 1
>> # return instance
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Django REST framework" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to django-rest-framework+unsubscr...@googlegroups.com <javascript:>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django REST framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-rest-framework+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to