PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Kendala bersama unik khusus Django

Anda mungkin bisa menyelesaikan ini dengan indexes on expressions postgresql's tapi ini cara lain:

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)

Tapi itu jelas tidak akan berhasil jika Anda mengubah nilai dengan QuerySet.update metode. Anda juga dapat melihat django-denorm , ini menyelesaikannya dengan pemicu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Acosd() Bekerja di PostgreSQL

  2. Mengelola peran dan atribut peran di PostgreSQL

  3. Bagaimana cara menghapus entri duplikat?

  4. Rails ActiveRecord:Cara menggunakan variabel bind dengan tanda kutip ganda di jsonb

  5. Bagaimana cara memilih beberapa baris yang diisi dengan konstanta di Amazon Redshift?