django custom primary key field
from django.db import models
class CustomPrimaryKeyField(models.Field):
def __init__(self, args, *kwargs):
kwargs['primary_key'] = True
kwargs['editable'] = False
super().__init__(args, *kwargs)
def db_type(self, connection):
return 'char(32)'
def deconstruct(self):
name, path, args, kwargs = super().deconstruct()
del kwargs['primary_key']
del kwargs['editable']
return name, path, args, kwargs
class YourModel(models.Model):
custom_id = CustomPrimaryKeyField()
# Other fields for your model