Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como fazer o campo de incremento automático no django que começa em 10000


O mais simples é capturar o sinal pós-migração
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)

O que estamos fazendo aqui é criar um registro e excluí-lo imediatamente. No mysql, isso altera o próximo valor no incremento automático. Não importa que o registro tenha sido excluído. O próximo número atribuído será 1000.