¿Cómo puedo hacer que el campo de muchos a muchos sea opcional en Django?


Cuando tiene una relación de muchos a muchos (related_name, no through) y está tratando de usar la interfaz de administración, debe ingresar una de las relaciones, aunque no tiene que existir para crear la primera entrada.

Estoy creando una aplicación que es un organizador de eventos. Imagina que tuviéramos Event y Group modelos, vinculados con una relación de muchos a muchos.

Django related_name crea otra tabla con los índices de las otras dos tablas.
Pero veo no hay razón para que este cuadro adicional tenga que rellenar.

Si trabajo con la base de datos a través de phpMyAdmin puedo crear un Group sin registrar un Event, ya que la conexión entre los dos es solo a través de una tabla separada, y no hay aplicación de valor de base de datos en un nivel dado.

¿Cómo hago que la interfaz de administración se dé cuenta?
¿Cómo puedo hacer que el campo de muchos a muchos sea opcional en Django?

Author: 3cheesewheel, 2010-03-27

1 answers

Si desea ser capaz de especificar la relación ManyToMany sin hacer que sea necesaria, simplemente use blank=True:

class Group(models.Model):
    ...
    events = models.ManyToManyField(Event, blank=True)
 241
Author: Ludwik Trammer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-16 08:53:43