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.