Tengo dos modelos simples Pregunta y Opción (una pregunta tiene varias opciones). He utilizado el formset en línea para agregar opciones junto con la adición de preguntas (a través de la funcionalidad modelAdmin).django-ckeditor: excepción no detectada usando líneas
class Question(models.Model):
category = models.CharField(max_length=50)
question_text = RichTextField(max_length=2000, verbose_name="Question Text", blank=True)
class Choice(models.Model):
question = models.ForeignKey(Question)
description = RichTextField(max_length=500, verbose_name="Choice Description")
is_correct = models.BooleanField(default=False)
Ahora los campos de la elección y la pregunta se define en RichTextField django-ckeditor. El problema es cuando hago clic en "Agregar otra opción" obtengo un uncaught exception: [CKEDITOR.editor] The instance "id_choice_set-__prefix__-description" already exists
, lo que interrumpe la funcionalidad de ckeditor.
¿Alguna idea/sugerencia sobre cómo solucionar este problema? Creo que algunos ajustes JS pueden ayudar, pero tengo un conocimiento muy limitado de JS/jQuery
Gracias
Probé tanto con admin como con grappelli. Ni trabajo __prefix__ debería ser reemplazado con el número pero no es porque django no espera que un __prefix__ esté en una función javascript. Aquí hay algunos pensamientos. django/contrib/admin/media/js/inlines.js Vea cómo se reemplaza __prefix__, no lo reemplaza en el javascript. Escribí mi propia función algo así como el.html (el.html(). Replace (id_regex, replacement)); esto lo reemplaza correctamente en el código javascript. PERO para entonces se ejecutó incorrectamente. ckeditor/widgets.py contiene el código que escribe el javascript, no estoy seguro de dónde ir desde aquí :( – Bufke