sql >> Base de Datos >  >> RDS >> Mysql

Cómo hacer un campo de incremento automático en django que comienza desde 10000

El más simple es captar la señal posterior a la migración

from django.apps import AppConfig
from django.db.models.signals import post_migrate

def my_callback(sender, **kwargs):
     if sender.name = 'myapp'
     try:
         university = University.objects.create(pk=999, ...)
         university.delete()
     except IntegrityError:
         pass

class MyAppConfig(AppConfig):
    ...

    def ready(self):
        post_migrate.connect(my_callback, sender=self)

Lo que estamos haciendo aquí es crear un registro y eliminarlo inmediatamente. En mysql eso cambia el siguiente valor en el incremento automático. No importa que el registro haya sido eliminado. El próximo número asignado será 1000.