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.

Reply via email to