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.