Hi All,
RajeshD gave me a great pointer to the unique_together directive. So
I tried it in my model:
class Scripture( models.Model ):
book = models.CharField (maxlength = 2, choices = constants.BIBLE_BOOKS)
chapter = models.IntegerField ()
from_verse = models.IntegerField ()
to_verse = models.IntegerField (blank = True, null = True)
passage = models.SlugField (prepopulate_from = ('chapter',
'from_verse', 'to_verse'), blank = True)
def __str__( self ):
if self.to_verse == None:
return "%s %s:%s" % (self.get_book_display(),
self.chapter, self.from_verse)
else:
return "%s %s:%s-%s" % (self.get_book_display(),
self.chapter, self.from_verse, self.to_verse)
def save( self ):
if self.to_verse <= self.from_verse:
self.to_verse = None
super (Scripture, self).save()
class Meta:
unique_together = (('book', 'chapter', 'from_verse', 'to_verse',),)
So, ideally, something like "Genesis 1:1-2" should be allowed exactly
once in the table. However, that doesn't seem to be the case. The
directive works with two (like book and chapter or from and to), but
not with more. Am I using it in a wrong way?
PS I tried with both sqlite and postgresql
Thanks!
Seemant
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-users
-~----------~----~----~----~------~----~------~--~---