Cree otro modelo de objetos en el administrador de django dentro de un bucle for

Soy completamente nuevo en django y anteriormente era un progtwigdor de PHP, así que tened paciencia si estoy siendo tonto. Tengo tres modelos definidos en mi aplicación, Comprensión, Pregunta, Respuesta. Cada comprensión tiene múltiples preguntas y respuestas definidas como “en línea” en el modelo de comprensión. Las preguntas son ingresadas directamente por el administrador, pero las respuestas se agregarían automáticamente desde la comprensión. Lo que quiero lograr es dividir la comprensión en oraciones y agregar cada oración como un objeto de respuesta con clave extranjera de la comprensión actual. Estoy tratando de anular el método de guardar en el modelo de comprensión. Pero cuando hago clic en guardar, da un error de instancia

Cannot assign "23L": "Answer.ComprehensionAnswer" must be a "Comprehension" instance. 

¿Cómo asigno / creo e instalo aquí? o estoy siguiendo un enfoque equivocado. Si es así, por favor guíame hacia el enfoque correcto.

Los siguientes son los contenidos de models.py

 class Question(models.Model): QuestionText = models.CharField(max_length=500, verbose_name='Question Text') QuestionTypeID = models.ManyToManyField(QuestionType, verbose_name='Question Type') ComprehensionQuestion = models.ForeignKey(Comprehension, verbose_name='comprehension') QuestionRemarks = models.CharField(max_length=500, verbose_name='remarks', null=True, blank=True) LastUpdate = models.DateTimeField(auto_now=True) def __unicode__(self): return self.QuestionText def was_published_recently(self): return self.LastUpdate >= timezone.now() - datetime.timedelta(1) class Answer(models.Model): AnswerText = models.CharField(max_length=500, verbose_name='Answer Text') AnswerTypeID = models.ManyToManyField(AnswerType, verbose_name='Answer Type') ComprehensionAnswer = models.ForeignKey(Comprehension, verbose_name='Comprehension', null=True, blank=True) AnswerRemarks = models.CharField(max_length=500, verbose_name='Remarks') LastUpdate = models.DateTimeField(auto_now=True) def __unicode__(self): return self.AnswerText class Comprehension(models.Model): ComprehensionTitle = models.CharField(max_length=100, verbose_name='Comprehension Title') ComprehensionsText = models.TextField(verbose_name='Text') ComprehensionsRemarks = models.CharField(max_length=400, verbose_name='Remarks for this Comprehension', null=True, blank=True) LastUpdate = models.DateTimeField("Last Updated", auto_now=True) def __unicode__(self): return self.ComprehensionTitle def was_published_recently(self): return self.LastUpdate >= timezone.now() - datetime.timedelta(1) def save(self, *args, **kwargs): #overrides the default save function to split the comprehension paragraph into sentences and adds them as probable answers AnswerList = self.ComprehensionsText.split("u'\u0964'") for sentence in AnswerList: p = Answer.objects.create(AnswerText = sentence, ComprehensionAnswer = self.pk) super(Comprehension, self).save(*args, **kwargs) 

Contenido dentro de admin.py

 class ComprehensionAdmin(admin.ModelAdmin): form = ComprehensionForm fieldsets = [ ('Main', {'fields': ['ComprehensionTitle','ComprehensionsText']}), ('Additional Info', {'fields': ['ComprehensionsRemarks'], 'classes': ['collapse']}), ] inlines = [QuestionInline, AnswerInline] list_display = ('ComprehensionTitle', 'LastUpdate') list_per_page = 10 class QuestionInline(admin.TabularInline): model = Question extra = 2 class AnswerInline(admin.TabularInline): model = Answer extra = 2 admin.site.register(Question) admin.site.register(Answer) admin.site.register(Comprehension, ComprehensionAdmin) 

También he seguido el enfoque mencionado en esta página . Pero, deje en blanco cómo crear los objetos en condición de confirmación utilizando la clave foránea del modelo de comprensión.

    Debe usar self lugar de self.pk y tenga en cuenta que self refiere al objeto actual.

     p = Answer.objects.create(AnswerText = sentence, ComprehensionAnswer = self) 

    Desde el rastreo, se muestra claramente que, el atributo ComprehensionAnswer del modelo Answer espera el objeto del modelo Comprehension . Pero estás pasando la identificación de ese objeto.