sql >> Base de Datos >  >> RDS >> PostgreSQL

Clave primaria compuesta en django

Pruebe un 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()

o si solo desea campos mixtos únicos:

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

    key1 = models.IntegerField()
    key2 = models.IntegerField()

EDITAR:me gustaría señalar que hay un problema con este enfoque si hay 3 columnas. Las consultas de actualización no funcionan porque intenta actualizar (coloca los campos pk justo después de "SET") los campos que son únicos juntos y obviamente falla.