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

  • Art Food Kitty - Kelly Eddington

    Art Food Kit

    7 Kasım 2006
  • MrDevin521

    MrDevin521

    18 Temmuz 2010
  • SelmerSaxMan

    SelmerSaxMan

    24 HAZİRAN 2006