django admin muchos-a-muchos modelos intermedios usando a través de = y filter_horizontal

Así es como se ven mis modelos:

<code>class QuestionTagM2M(models.Model):
    tag = models.ForeignKey('Tag')
    question = models.ForeignKey('Question')
    date_added = models.DateTimeField(auto_now_add=True)

class Tag(models.Model):
    description = models.CharField(max_length=100, unique=True)

class Question(models.Model):
    tags = models.ManyToManyField(Tag, through=QuestionTagM2M, related_name='questions')
</code>

Todo lo que realmente quería hacer era agregar una marca de tiempo cuando se creaba una determinada relación con muchas personas. Tiene sentido, pero también agrega un poco de complejidad. Además de eliminar la funcionalidad .add () [a pesar del hecho de que el único campo que estoy agregando se crea automáticamente, por lo que técnicamente no debería interferir más con esto]. Pero puedo vivir con eso, ya que no me importa hacer el extraQuestionTagM2M.objects.create(question=,tag=) en cambio, si eso significa obtener la funcionalidad de marca de tiempo adicional. Mi problema es que realmente me encantaría poder preservar mifilter_horizontal Widget javascript en el administrador. Sé que los documentos dicen que puedo usar una línea en su lugar, pero esto es demasiado difícil de manejar porque no hay campos adicionales que realmente estén en la línea aparte de la clave externa a laTag de todas formas. Además, en el esquema más amplio de mi esquema de base de datos, miQuestion los objetos ya se muestran como en línea en mi página de administración, y como Django no admite líneas en línea anidadas en el administrador [todavía], no tengo forma de seleccionar etiquetas para una pregunta determinada. ¿Hay alguna manera de anularformfield_for_manytomany(self, db_field, request=None, **kwargs) o algo similar para permitir mi uso de la ingeniosafilter_horizontal widget y la creación automática de ladate_added ¿Columna a la base de datos? Esto parece algo que django debería poder hacer de forma nativa siempre que especifique que todas las columnas en el intermedio se crean automáticamente (con excepción de las claves externas) quizás conauto_created=True? o algo parecido

Respuestas a la pregunta(3)

Su respuesta a la pregunta