Thanks for your response I just found out u can't shorten UUID but I needed 12 digits what I now did was to import the code below from random import randint my_rand = randint(100000000000, 999999999999) transaction_id = models.CharField(max_length=30, unique=True, null=True, blank=True, editable=False, default=my_rand)
Thanks On Sunday, 3 May 2020 11:35:30 UTC+1, Nomeh Uchenna Gabriel wrote: > > On Sunday, May 3, 2020 at 9:10:28 AM UTC+1, Benedict Uwazie wrote: > > Still facing the same issue > > > > On Sunday, 3 May 2020 03:27:46 UTC+1, Motaz Hejaze wrote: > > default=cast_trans > > cast_trans = int(pass_trans) > > > > UUID is string not int > > > > > > On Sun, May 3, 2020 at 4:05 AM Benedict Uwazie <nonw...@gmail.com> > wrote: > > > > > > > > On Sunday, 3 May 2020 01:38:16 UTC+1, Benedict Uwazie wrote: > > > > I added a field called transaction_id in my models.py I want that field > to be used to track every transaction on my "DuesLevy" model I > imported uuid to this to happen, but each time I migrate I get this error. > > How do i prevent this error from occurring each time I migrate (python > manage.py migrate) File > "C:\Users\Benedict\Miniconda3\envs\django3\lib\site-packages\django\db\models\fields\__init__.py", > > line 2344, in to_python > > params={'value': value}, > > django.core.exceptions.ValidationError: ["'13615773708697' is not a > valid UUID."] > > > > > > my models.py > > > > > > trans_id = uuid.uuid4() > > trans_str = trans_id.int > > pass_trans = str(trans_str)[:12] > > cast_trans = int(pass_trans) > > class DuesLevy(models.Model): > > > class_of_dues = models.CharField(max_length=30, default=options.CHOOSE, > choices=options.CLASS_OF_DUES, blank=True) > > > > payment_circle = models.CharField(max_length=30, default=options.CHOOSE, > choices=options.PAYMENT_CIRCLE) > > > > payment_option = models.CharField(max_length=30, default=options.CHOOSE, > choices=options.PAYMENT_OPTION) > > > amount = models.DecimalField(max_digits=8, decimal_places=2) > > > transaction_id = models.UUIDField(max_length=100, unique=True, null=True, > blank=True, editable=False, default=cast_trans) > > > > payment_channel = models.CharField(max_length=30, default=options.CHOOSE, > choices=options.PAYMENT_CHANNEL_TYPE) > > > payment_date = models.DateField() > > date_recorded = models.DateTimeField(auto_now_add=True) > > > user = models.ForeignKey(settings.AUTH_USER_MODEL, > on_delete=models.CASCADE) > > > description = models.TextField(blank=True, null=True) > > > > def __str__(self): > > return self.amount > > > > > > def get_absolute_url(self): > > return reverse('backend:detail_dues', kwargs={'pk': self.id}) > > > > > > > > > > > > > > -- > > > > You received this message because you are subscribed to the Google > Groups "Django users" group. > > > > To unsubscribe from this group and stop receiving emails from it, send > an email to django...@googlegroups.com. > > > > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/4a1d77cc-d1b8-4bd4-84cd-cd78e6d2eb76%40googlegroups.com. > > > > > > On Sunday, May 3, 2020 at 9:10:28 AM UTC+1, Benedict Uwazie wrote: > > Still facing the same issue > > > > On Sunday, 3 May 2020 03:27:46 UTC+1, Motaz Hejaze wrote: > > default=cast_trans > > cast_trans = int(pass_trans) > > > > UUID is string not int > > > > > > On Sun, May 3, 2020 at 4:05 AM Benedict Uwazie <nonw...@gmail.com> > wrote: > > > > > > > > On Sunday, 3 May 2020 01:38:16 UTC+1, Benedict Uwazie wrote: > > > > I added a field called transaction_id in my models.py I want that field > to be used to track every transaction on my "DuesLevy" model I > imported uuid to this to happen, but each time I migrate I get this error. > > How do i prevent this error from occurring each time I migrate (python > manage.py migrate) File > "C:\Users\Benedict\Miniconda3\envs\django3\lib\site-packages\django\db\models\fields\__init__.py", > > line 2344, in to_python > > params={'value': value}, > > django.core.exceptions.ValidationError: ["'13615773708697' is not a > valid UUID."] > > > > > > my models.py > > > > > > trans_id = uuid.uuid4() > > trans_str = trans_id.int > > pass_trans = str(trans_str)[:12] > > cast_trans = int(pass_trans) > > class DuesLevy(models.Model): > > > class_of_dues = models.CharField(max_length=30, default=options.CHOOSE, > choices=options.CLASS_OF_DUES, blank=True) > > > > payment_circle = models.CharField(max_length=30, default=options.CHOOSE, > choices=options.PAYMENT_CIRCLE) > > > > payment_option = models.CharField(max_length=30, default=options.CHOOSE, > choices=options.PAYMENT_OPTION) > > > amount = models.DecimalField(max_digits=8, decimal_places=2) > > > transaction_id = models.UUIDField(max_length=100, unique=True, null=True, > blank=True, editable=False, default=cast_trans) > > > > payment_channel = models.CharField(max_length=30, default=options.CHOOSE, > choices=options.PAYMENT_CHANNEL_TYPE) > > > payment_date = models.DateField() > > date_recorded = models.DateTimeField(auto_now_add=True) > > > user = models.ForeignKey(settings.AUTH_USER_MODEL, > on_delete=models.CASCADE) > > > description = models.TextField(blank=True, null=True) > > > > def __str__(self): > > return self.amount > > > > > > def get_absolute_url(self): > > return reverse('backend:detail_dues', kwargs={'pk': self.id}) > > > > > > > > > > > > > > -- > > > > You received this message because you are subscribed to the Google > Groups "Django users" group. > > > > To unsubscribe from this group and stop receiving emails from it, send > an email to django...@googlegroups.com. > > > > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/4a1d77cc-d1b8-4bd4-84cd-cd78e6d2eb76%40googlegroups.com. > > > > You're trying to shorten the UUID to 12 chars, that's not allowed > > ... simply change: > > 'pass_trans = str(trans_str[:12])' > > to > > pass_trans = str(trans_str)' -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/29bdc56f-2a06-4687-9d9e-294b319c1e2e%40googlegroups.com.