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

Djangoカスタムの一意の一緒の制約

    おそらく、postgresqlのindexes on expressionsでこれを解決できます。 しかし、ここに別の方法があります:

    class Share( models.Model ):
        sharer = models.ForeignKey(User)
        receiver = models.ForeignKey(User), related_name='receiver')
        key = models.CharField(max_length=64, unique=True)
    
        def save(self, *args, **kwargs):
            self.key = "{}.{}".format(*sorted([self.sharer_id, self.receiver_id]))
            super(Share, self).save(*args, **kwargs)
    

    ただし、QuerySet.updateを使用して値を変更すると、明らかに機能しません。 方法。 django-denorm もご覧ください。 、トリガーでこれを解決します。




    1. Oracle SQL updateステートメントはどの順序で列の値を変更しますか?

    2. SQLServerのGOコマンドについて

    3. ディーゼルCLIツールの実行時に序数が見つかりません

    4. 動的SQLは、JDBCとMySQLを使用してGoogleAppsScriptで「構文エラー」を返します