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/ef7caf31-a641-43ab-bdd1-d92fc1feab5d%40googlegroups.com.

Reply via email to