PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Chave primária composta no django


Tente semelhante abaixo código:
class MyTable(models.Model):
    class Meta:
        unique_together = (('key1', 'key2'),)

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

ou se você quiser apenas campos mistos exclusivos:
class MyTable(models.Model):
    class Meta:
        unique_together = (('key1', 'key2'),)

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

EDIT:Gostaria de observar que há um problema com essa abordagem se houver 3 colunas. As consultas de atualização não funcionam porque tenta atualizar (coloca os campos pk logo após "SET") os campos que são únicos juntos e obviamente falha.