Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak zrobić automatyczne pole inkrementacji w django, które zaczyna się od 10000

Najprościej jest złapać sygnał po migracji

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)

To, co tutaj robimy, to tworzenie rekordu i natychmiastowe usuwanie. Na mysql, który zmienia następną wartość w auto inkrementacji. Nie ma znaczenia, że ​​rekord został usunięty. Następna przypisana liczba to 1000.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zrozumienie dziennika audytu ProxySQL

  2. PHP/MySQL:Pobieranie wpisów z ostatnich *pełnych* tygodni

  3. Nie można zaimportować mysql-python w crontab Mac OS

  4. Problemy ze strefą czasową Java MySQL Timestamp

  5. Zaawansowane łączenie MySQL. Przyspieszenie zapytania