SORU
4 ŞUBAT 2010, PERŞEMBE


İki alanları tanımlamak için nasıl "eşsiz" gibi birkaç

Bir şekilde Django benzersiz olarak birkaç alanları tanımlamak için var mı?

Birimler (dergi) bir tablo var ve daha sonra bir birim aynı dergi için sayı istemiyorum.

class Volume(models.Model):
    id = models.AutoField(primary_key=True)
    journal_id = models.ForeignKey(Journals, db_column='jid', null=True, verbose_name = "Journal")
    volume_number = models.CharField('Volume Number', max_length=100)
    comments = models.TextField('Comments', max_length=4000, blank=True)

Alanları journal_id volume_number nitelik unique = True koymaya çalıştım ama işe yaramadı.

CEVAP
4 ŞUBAT 2010, PERŞEMBE


İstediğiniz tam olarak ne senin için basit bir çözüm unique_together denir.

Örneğin:

class MyModel(models.Model):
  field1 = models.CharField(max_length=50)
  field2 = models.CharField(max_length=50)

  class Meta:
    unique_together = ('field1', 'field2',)

Ve senin durumunda:

class Volume(models.Model):
  id = models.AutoField(primary_key=True)
  journal_id = models.ForeignKey(Journals, db_column='jid', null=True, verbose_name = "Journal")
  volume_number = models.CharField('Volume Number', max_length=100)
  comments = models.TextField('Comments', max_length=4000, blank=True)

  class Meta:
    unique_together = ('journal_id', 'volume_number',)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Candyrat Records

    Candyrat Rec

    10 Mayıs 2006
  • Carlos Delgado

    Carlos Delga

    21 HAZİRAN 2011
  • Kim Barbin

    Kim Barbin

    3 Mayıs 2012