sql >> データベース >  >> RDS >> PostgreSQL

djangoの複合主キー

    以下の同様のコードを試してください:

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

    または、一意の混合フィールドのみが必要な場合:

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

    編集:3つの列がある場合、このアプローチには問題があることに注意してください。更新クエリは、一意であり、明らかに失敗するフィールドを更新しようとする( "SET"の直後にpkフィールドを配置する)ため、機能しません。



    1. MySQLでの削除後の自動インクリメント

    2. SQLデータベースのテーブルの新しいレコードを監視します

    3. IPv6互換アドレスをリレーショナルデータベースに保存する方法

    4. postgres json列のネストされた配列をクエリする方法は?