sql >> Databasteknik >  >> RDS >> Mysql

Hur man gör automatiskt inkrementfält i django som börjar från 10000

Det enklaste är att fånga efter migreringssignalen

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)

Det vi gör här är att skapa en post och radera den omedelbart. På mysql som ändrar nästa värde i den automatiska ökningen. Det spelar ingen roll att posten har raderats. Nästa tilldelade nummer kommer att vara 1000.



  1. Sök i mysqli-tabell med formulär och visningsresultat

  2. Uppgradering av PostgreSQL 11 till PostgreSQL 13 med TimescaleDB och PostGIS i Linux med pg_upgrade

  3. Undvikande enstaka offert i PLSQL

  4. Entity framework mycket långsam att ladda för första gången efter varje kompilering