# HG changeset patch # User Madhusudan.C.S # Date 1295032310 -19800 # Node ID 61292fa7f61a2c4df1df9663065f30f20950ed07 # Parent b8ca16f03916b6df3397b03fb7442eb7f3efa385 Remove uniqkey field from every model. This field is redundant data. Every Django database model has a built-in id which is unique for that database entity. So this field becomes redundant. In addition this field is not even a primary key. So I am not sure what it is trying to achieve. It is also agains the schema design principles. Normalization level 2 is lost by having redundant data. The way uniqkey is generated using random is also awkward. diff -r b8ca16f03916 -r 61292fa7f61a pytask/profile/models.py --- a/pytask/profile/models.py Sat Jan 15 00:37:46 2011 +0530 +++ b/pytask/profile/models.py Sat Jan 15 00:41:50 2011 +0530 @@ -5,21 +5,18 @@ GENDER_CHOICES = (( 'M', 'Male'), ('F', 'Female')) RIGHTS_CHOICES = ( - ("DC", "Director"), - ("MG", "Manager"), - ("CR", "Co-ordinator"), - ("CT", "Contributor"),) + ("DC", "Director"), + ("MG", "Manager"), + ("CR", "Co-ordinator"), + ("CT", "Contributor"),) ROLE_CHOICES = ( - ("DC", "Request sent by Director \ + ("DC", "Request sent by Director \ to a user at lower level, asking him to act as a director"), - ("MG", "Request sent by Manager \ + ("MG", "Request sent by Manager \ to a user at lower level, asking him to act as a manager"),) class Profile(models.Model): - - uniq_key = models.CharField(max_length=20) - full_name = models.CharField(max_length=50, verbose_name="Name as on bank\ account", help_text="Any DD/Cheque will be\ issued on this name") @@ -46,8 +43,6 @@ Hence there is no sent_from option. """ - uniq_key = models.CharField(max_length=20) - sent_to = models.ForeignKey(User, related_name = "%(class)s_sent_to", blank = False) subject = models.CharField(max_length=100, blank=True) @@ -62,7 +57,6 @@ Typically requesting to raise one's status. """ - uniq_key = models.CharField(max_length=20) role = models.CharField(max_length=2, choices=ROLE_CHOICES) is_accepted = models.BooleanField(default=False) @@ -74,4 +68,3 @@ sent_date = models.DateTimeField() is_read = models.BooleanField(default = False) is_deleted = models.BooleanField(default = False) - diff -r b8ca16f03916 -r 61292fa7f61a pytask/taskapp/models.py --- a/pytask/taskapp/models.py Sat Jan 15 00:37:46 2011 +0530 +++ b/pytask/taskapp/models.py Sat Jan 15 00:41:50 2011 +0530 @@ -22,8 +22,6 @@ UPLOADS_DIR = "./pytask/static/uploads" class Task(models.Model): - - uniq_key = models.CharField(max_length = 10, unique = True) title = models.CharField(max_length = 100, verbose_name = u"Title", help_text = u"Keep it simple and below 100 chars.") desc = models.TextField(verbose_name = u"Description") @@ -54,7 +52,6 @@ class TaskComment(models.Model): - uniq_key = models.CharField(max_length = 10, unique = True) task = models.ForeignKey('Task', related_name = "comments") data = models.TextField(verbose_name="") @@ -69,8 +66,6 @@ return unicode(self.task.title) class TaskClaim(models.Model): - - uniq_key = models.CharField(max_length = 10, unique = True) task = models.ForeignKey('Task', related_name = "claims") claimed_by = models.ForeignKey(User, @@ -83,8 +78,6 @@ return unicode(self.task.title) class WorkReport(models.Model): - - uniq_key = models.CharField(max_length = 10, unique = True) task = models.ForeignKey(Task, related_name = "reports") submitted_by = models.ForeignKey(User, null = True, blank = True, related_name = "submitted_reports") @@ -100,8 +93,6 @@ submitted_at = models.DateTimeField() class ReportComment(models.Model): - - uniq_key = models.CharField(max_length = 10, unique = True) report = models.ForeignKey('WorkReport', related_name = "%(class)s_report") data = models.TextField() @@ -113,8 +104,6 @@ is_deleted = models.BooleanField(default=False) class PyntRequest(models.Model): - - uniq_key = models.CharField(max_length = 10, unique = True) task = models.ForeignKey(Task, related_name = "pynt_requests") pynts = models.PositiveIntegerField(default=0, help_text="No.of pynts") @@ -135,7 +124,6 @@ class TextBook(models.Model): - uniq_key = models.CharField(max_length = 10, unique = True) name = models.CharField(max_length = 100) chapters = models.ManyToManyField(Task, related_name="textbooks") tags_field = TagField(verbose_name="Tags")