On 11/02/2020 7:06 pm, Bruckner de Villiers wrote:
Jason,
Thank you. I have changed the title of this mail. If I have read the
10 year old ticket 8576 correctly, it seems to be a DB restriction and
I imagine that there are good reasons for this. However, then I don’t
understand the purpose of the AutoField given the restrictions and
that the Django documentation is somewhat ambiguous/vague.
The options seem to be:
* Your uuid suggestion (which I have never worked with, but will
explore)
* a function in the model that does the incrementing before
committing – (anyone have some example code for this?). The
challenge would be to keep track of the last used ticket no. I
haven’t thought this through yet, but it does occur to me that one
could use the id (maybe prefix the id with some starting digits)
and write the record twice. Probably barking up the wrong tree.
I have a need for a unique identifier in one of my models. I save the id
to a separate field in the same model. In my case I don't need to see
the value. It just needs to be unique and never change. It is used for
generating the equivalent of a bar-code in a different model.
def save(self, *args, **kwargs):
if self.id:
if not self.formulation_no:
self.formulation_no = str(self.id)
super().save(*args, **kwargs)
A downside to this is the formulation number stays blank until the next
save after creating the record. The upside is that the id isn't going to
change so uniqueness isn't lost. Another way of doing this is to copy
the id when it is first required and formulation_no is still blank.
I have also been known to use a weird mechanism for user-resequencing
records in a display. In that case they are lesson sequences within a
course and question sequences within a lesson. I use floats and strings
in a pair of fields so if that is of interest just ask.
Cheers
Mike
*
Regards,
Bruckner de Villiers
+27 83 625 1086
*From: *<django-users@googlegroups.com> on behalf of Jason
<jjohns98...@gmail.com>
*Reply to: *<django-users@googlegroups.com>
*Date: *Monday, 10 February 2020 at 14:55
*To: *Django users <django-users@googlegroups.com>
*Subject: *Re: Adding a verbose_name to id field
Hmm. TIL about https://code.djangoproject.com/ticket/8576
Would a a uuid for this, rather than an integer? If not, you'll have
to implement a save override to handle the incrementing yourself.
In addition, it might be worthwhile bringing this ticket up for
discussion at https://groups.google.com/forum/#!forum/django-developers
--
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
<mailto:django-users+unsubscr...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/dc686528-0a8d-43ff-9973-d478cc765959%40googlegroups.com
<https://groups.google.com/d/msgid/django-users/dc686528-0a8d-43ff-9973-d478cc765959%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
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
<mailto:django-users+unsubscr...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/7C1BE52B-AFAE-4D38-9003-8A454A284A39%40gmail.com
<https://groups.google.com/d/msgid/django-users/7C1BE52B-AFAE-4D38-9003-8A454A284A39%40gmail.com?utm_medium=email&utm_source=footer>.
--
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/99dbcba0-22bd-7c1d-5fe6-68984353bfb1%40dewhirst.com.au.