Issue
I am making a web application in Django. I want to use custom id field in my model and i know about uuid module. The problem is i don’t know where to put this logic. I don’t want to use Django’s AutoField. I want it to be such that if one row is entered then this id field must be custom not AutoField. A silly idea comes to my mind is to change the id field later after row insertion with my custom id. Can anyone help me to sort this problem out. Any assistance is highly appreciated.
Solution
https://docs.djangoproject.com/en/dev/topics/db/models/#automatic-primary-key-fields
If you’d like to specify a custom primary key, just specify
primary_key=True on one of your fields. If Django sees you’ve
explicitly set Field.primary_key, it won’t add the automatic id
column.
So you want (from https://docs.djangoproject.com/en/dev/ref/models/fields/#uuidfield)
import uuid
from django.db import models
class MyUUIDModel(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
# other fields
you don’t have to name the field id
I think.
Answered By – eugene
This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0