examples database django django-models many-to-many compound-key

database - examples - django tags



Compuesto/Compuesto clave primaria/Ășnica con Django (3)

Si desea que solo los campos mixtos únicos juntos utilice el código debajo:

class MyTable(models.Model): class Meta: unique_together = ((''key1'', ''key2''),) key1 = models.IntegerField() key2 = models.IntegerField()

Pero si desea que el conjunto sea único y uno de columna sea primario, configure el argumento primary para la columna del modelo, código similar a continuación:

class MyTable(models.Model): class Meta: unique_together = ((''key1'', ''key2''),) key1 = models.IntegerField(primary_key=True) key2 = models.IntegerField()

¿Cómo puede crear modelos (y, por lo tanto, tablas) con una clave primaria / única compuesta (compuesta) utilizando Django?


Una clave compuesta consta de más de un atributo para identificar de forma única la ocurrencia de una entidad. Esto difiere de una clave compuesta en que uno o más de los atributos, que forman la clave, no son claves simples por derecho propio.

Por ejemplo, tienes una base de datos que contiene tu colección de CD. Una de las entidades se llama pistas, que contiene detalles de las pistas en un CD. Esto tiene una clave compuesta de nombre de CD, número de pista.


Django no admite claves primarias compuestas. Puede crear una única clave única compuesta con Meta.unique_together .