Django models avoid duplicates

后端 未结 3 2362
醉梦人生
醉梦人生 2020-12-14 12:03

In models:

class Getdata(models.Model):
    title = models.CharField(max_length=255)
    state = models.CharField(max_length=2, choices=STATE, default=\"0\")         


        
3条回答
  •  南笙
    南笙 (楼主)
    2020-12-14 12:52

    If an individual field needs to be unique, then you just add unique=True:

    class Getdata(models.Model):
        title = models.CharField(max_length=255, unique=True)
        state = models.CharField(max_length=2, choices=STATE, default="0")
        name = models.ForeignKey(School)
        created_by = models.ForeignKey(profile)
    

    If you want a combination of fields to be unique, you need unique_together:

    class Getdata(models.Model):
        title = models.CharField(max_length=255)
        state = models.CharField(max_length=2, choices=STATE, default="0")
        name = models.ForeignKey(School)
        created_by = models.ForeignKey(profile)
        class Meta:
            unique_together = ["title", "state", "name"]
    

提交回复
热议问题