Mysql
 sql >> Database >  >> RDS >> Mysql

Come creare un campo di incremento automatico in django che parte da 10000

Il più semplice è catturare il segnale post-migrazione

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)

Quello che stiamo facendo qui è creare un record e cancellarlo immediatamente. Su mysql che cambia il valore successivo nell'incremento automatico. Non importa che il record sia stato cancellato. Il prossimo numero assegnato sarà 1000.