# Models

class `quiz.models.``Permission`(*args, **kwargs)

  This class is used to create the userspermission table in database.Defines the permission of the user default permission is Student the admin can provide staff permission

  exception `DoesNotExist`
  exception `MultipleObjectsReturned`
  `id`

    A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

  `objects` = <django.db.models.manager.Manager object>
  `role`

    The roles are Student(S) and Professor(P) default is student and admin allocates Professor role based on requests

  `userId`

    This is the foreign key pointing to Users table

  `userId_id`

class `quiz.models.``Questions`(*args, **kwargs)

  This class is used to create the Questions table in database.Contains info about the questions within a particular quiz and its attributes like socre and negative marks and correct answer

  exception `DoesNotExist`
  exception `MultipleObjectsReturned`
  `answer`

    A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

  `cribs_set`

    Accessor to the related objects manager on the reverse side of a many-to-one relation.

    In the example:

        class Child(Model):
            parent = ForeignKey(Parent, related_name='children')

    `Parent.children` is a `ReverseManyToOneDescriptor` instance.

    Most of the implementation is delegated to a dynamically defined manager class built by `create_forward_many_to_many_manager()` defined below.

  `explainations`

    A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

  `marks`

    A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

  `negative`

    A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

  `objects` = <django.db.models.manager.Manager object>
  `option1`

    option 1 for question

  `option2`

    option 2 for question

  `option3`

    option 3 for question

  `option4`

    option 4 for question

  `question`

    Question descirption

  `questionId`

    Unqiue question identifier Primary key

  `quizCode`

    6 random alpha numeric characters for each quiz

  `quizId`

    Foreign key of quiz model

  `quizId_id`
  `submission_set`

    Accessor to the related objects manager on the reverse side of a many-to-one relation.

    In the example:

        class Child(Model):
            parent = ForeignKey(Parent, related_name='children')

    `Parent.children` is a `ReverseManyToOneDescriptor` instance.

    Most of the implementation is delegated to a dynamically defined manager class built by `create_forward_many_to_many_manager()` defined below.

  `type`

    A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class `quiz.models.``cribs`(*args, **kwargs)

  This class is used to create the cribs table in database.Contains cribs raised by students

  exception `DoesNotExist`
  exception `MultipleObjectsReturned`
  `cribs`

    The cribs registered by the student for the given question

  `id`

    A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

  `objects` = <django.db.models.manager.Manager object>
  `questionId`

    Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

    In the example:

        class Child(Model):
            parent = ForeignKey(Parent, related_name='children')

    `Child.parent` is a `ForwardManyToOneDescriptor` instance.

  `questionId_id`
  `quizId`

    Foreign key of quiz model

  `quizId_id`
  `studentId`

    Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

    In the example:

        class Child(Model):
            parent = ForeignKey(Parent, related_name='children')

    `Child.parent` is a `ForwardManyToOneDescriptor` instance.

  `studentId_id`

class `quiz.models.``log`(*args, **kwargs)

  This class is used to create the log table in database.stores the student activity information for monitoring the students

  exception `DoesNotExist`
  exception `MultipleObjectsReturned`
  `fullscreen`

    Contains value to check whether the student has left fullscreen

  `get_next_by_logtime`(*, field=<django.db.models.fields.DateTimeField: logtime>, is_next=True, **kwargs)
  `get_previous_by_logtime`(*, field=<django.db.models.fields.DateTimeField: logtime>, is_next=False, **kwargs)
  `id`

    A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

  `logtime`

    The time student last logged in

  `objects` = <django.db.models.manager.Manager object>
  `questions`

    Foreign key for questions model

  `quizId`

    Foreign key of quiz model

  `quizId_id`
  `studentId`

    Foreign key of user model

  `studentId_id`

class `quiz.models.``quiz`(*args, **kwargs)

  This class is used to create the quiz table in database.Contains information about the quiz time,length,code and instructor who has created it

  exception `DoesNotExist`
  exception `MultipleObjectsReturned`
  `cribs_set`

    Accessor to the related objects manager on the reverse side of a many-to-one relation.

    In the example:

        class Child(Model):
            parent = ForeignKey(Parent, related_name='children')

    `Parent.children` is a `ReverseManyToOneDescriptor` instance.

    Most of the implementation is delegated to a dynamically defined manager class built by `create_forward_many_to_many_manager()` defined below.

  `date`

    The Start date of quiz

  property `end_datetime`
  `get_next_by_date`(*, field=<django.db.models.fields.DateField: date>, is_next=True, **kwargs)
  `get_previous_by_date`(*, field=<django.db.models.fields.DateField: date>, is_next=False, **kwargs)
  `length`

    The duration of the quiz in minutes

  `log_set`

    Accessor to the related objects manager on the reverse side of a many-to-one relation.

    In the example:

        class Child(Model):
            parent = ForeignKey(Parent, related_name='children')

    `Parent.children` is a `ReverseManyToOneDescriptor` instance.

    Most of the implementation is delegated to a dynamically defined manager class built by `create_forward_many_to_many_manager()` defined below.

  `objects` = <django.db.models.manager.Manager object>
  `questions_set`

    Accessor to the related objects manager on the reverse side of a many-to-one relation.

    In the example:

        class Child(Model):
            parent = ForeignKey(Parent, related_name='children')

    `Parent.children` is a `ReverseManyToOneDescriptor` instance.

    Most of the implementation is delegated to a dynamically defined manager class built by `create_forward_many_to_many_manager()` defined below.

  `quizCode`

    Random 6 Alhpa numeric characters assigned to each quiz

  `quizDone`

    A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

  `quizId`

    The quizid to uniquely identiy the quiz (Primary key)

  `quizInfo`

    A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

  `quizInstructor`

    The instructor who created the quiz

  `quizInstructor_id`
  `result_set`

    Accessor to the related objects manager on the reverse side of a many-to-one relation.

    In the example:

        class Child(Model):
            parent = ForeignKey(Parent, related_name='children')

    `Parent.children` is a `ReverseManyToOneDescriptor` instance.

    Most of the implementation is delegated to a dynamically defined manager class built by `create_forward_many_to_many_manager()` defined below.

  `startTime`

    Start Time of the quiz

  `submission_set`

    Accessor to the related objects manager on the reverse side of a many-to-one relation.

    In the example:

        class Child(Model):
            parent = ForeignKey(Parent, related_name='children')

    `Parent.children` is a `ReverseManyToOneDescriptor` instance.

    Most of the implementation is delegated to a dynamically defined manager class built by `create_forward_many_to_many_manager()` defined below.

class `quiz.models.``result`(*args, **kwargs)

  This class is used to create the result table in database.Stores cumulative score by each student in each quiz

  exception `DoesNotExist`
  exception `MultipleObjectsReturned`
  `id`

    A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

  `marks`

    cumulative marks for each student

  `objects` = <django.db.models.manager.Manager object>
  `quizId`

    Foreign key of quiz model

  `quizId_id`
  `studentId`

    Accessor to the related object on the forward side of a many-to-one or one-to-one (via ForwardOneToOneDescriptor subclass) relation.

    In the example:

        class Child(Model):
            parent = ForeignKey(Parent, related_name='children')

    `Child.parent` is a `ForwardManyToOneDescriptor` instance.

  `studentId_id`

class `quiz.models.``submission`(*args, **kwargs)

  This class is used to create the Submission table in database.Contains info about each questions answer submitted by each student

  exception `DoesNotExist`
  exception `MultipleObjectsReturned`
  `id`

    A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

  `objects` = <django.db.models.manager.Manager object>
  `option`

    The option selected by the student

  `questionId`

    Foreign key of question model

  `questionId_id`
  `quizId`

    Foreign key of quiz model

  `quizId_id`
  `studentId`

    Foreign key of user model

  `studentId_id`