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

  • Absolute Zero(Programming Tutorials)

    Absolute Zer

    22 Kasım 2012
  • discokatze

    discokatze

    23 EYLÜL 2009
  • RaverX DouBle StAg XI

    RaverX DouBl

    23 Mayıs 2008