Hi Andréas,

Yes, by globally unique I mean a unique 10-digit ID is assigned to every 
model instance of 'Dogs' within my application.  This ID will be shown 
publicly on the website to allow easy search access to a specific model 
instance.

I think you are right about creating a new field to hold the unique ID, 
instead of using the primary key.  Generating the ID is not too difficult, 
but how can I ensure that I won't generate a duplicate ID?  From briefly 
thinking about it, this is what I got...

When a new instance is created, generate *new ID*
For every *existing ID* in the database:
     If *new ID* == *existing ID* in the database:
          Generate *new ID* and re-run the for loop
If *new ID* does not match any *existing ID * in the database, proceed with 
continuing the model instance.

Also I read up on Signals, but is it necessary?


On Sunday, October 22, 2017 at 12:30:02 PM UTC-4, Andréas Kühne wrote:
>
> Hi,
>
> When you say "globally unique" - I am supposing you mean within your 
> application?
>
> What you need to do is set a field to be the primary key, see : 
> https://docs.djangoproject.com/en/1.11/topics/db/models/#automatic-primary-key-fields
>
> However - it would be simpler to use the standard primary key auto id 
> field, and then add another field to hold your unique ID in it. This could 
> then be created on the pre_save signal and you could write something that 
> randomly generates the unique ID field. See 
> https://docs.djangoproject.com/en/1.11/topics/signals/
>
> Best regards,
>
> Andréas
>
> 2017-10-22 17:52 GMT+02:00 Jack Zhang <[email protected] <javascript:>>:
>
>> Let's say I have a model called 'Dogs'.  Users can create instances of 
>> Dogs.  For every Dogs instance that is created, I want to assign a globally 
>> unique ID to it.  The ID will be 3 capitalized letters followed by 7 
>> numbers.  E.g. ABC1234567, POZ2930193
>>
>> What is the easiest way to go about doing this?  I looked into UUID but 
>> it generates a longer string.  Keep in mind that the ID must be globally 
>> unique - so after one has been created, it should not be created again.
>>
>> Thanks.
>>
>> -- 
>> 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 [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/django-users.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/django-users/0cd8e33c-8c92-471c-9c36-ac82749750b4%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/django-users/0cd8e33c-8c92-471c-9c36-ac82749750b4%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/f7675114-b219-45a3-a7a6-372a223435f3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to