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

  • boburnham

    boburnham

    11 Temmuz 2006
  • guillaume2111's channel

    guillaume211

    19 Kasım 2006
  • Top Gear

    Top Gear

    27 Mart 2006