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

  • RayperEnglishKnight

    RayperEnglis

    24 Kasım 2008
  • TechShowsYou

    TechShowsYou

    3 Mart 2011
  • WestsideMrArO

    WestsideMrAr

    6 EKİM 2010

İLGİLİ SORU / CEVAPLAR