Boa tarde!
Estou desenvolvendo um sistema para pagamento via boleto.
Existe um campo chamado "nosso número" (unique=True) no meu model Cobranca e estou estudando qual a melhor maneira de gerar o número para preencher o "nosso número" (que deve ser único para a identificação de cada boleto).
Sabendo que o "nosso número" comporta até 17 números, sendo os 7 primeiros o número do convênio, como eu geraria os outros 10 números de forma que não tivesse problemas futuramente se o banco de dados tiver uma grande quantidade de clientes (*Problema: conflito com outros "nosso número" gerado no passado)?
Ex: primeiro mês é gerado boletos para 10000 clientes, cada boleto terá um nosso número específico (poderia utilizar o ID da cobrança para identificar cada "nosso numero"), no mês seguinte será gerado novos boletos para esses 10000 clientes, sendo estes boletos também únicos e diferentes do mês anterior (e assim por diante).
O que eu vejo nessa lógica é que chegará um dia no futuro que haverá 9.999.999.999 cobranças geradas, e ultrapassará o limite de 10 números para o campo "nosso numero". Qual seria a solução para resolver esse problema automaticamente no futuro?