Django'ya yeni başladım ve kendimi bayağı ilerlettim sayılır ama bu konuda takıldım kaldım.
Aşağıda şekilde bir modelim var, alanları doldurduktan sonra gönder tuşuna bastığında otomatik olarak kod vermesini istiyorum ve bu işlemi her yeni veri girişinde yapmasını istiyorum. Sistemin otomatik olarak verecek olduğu kod ise AAA dan başlamak üzere sırayla gidecek. Mesela ilk veri girişim oluşturduğumda sistem bana AAAyı verecek daha sonrakilerde AAB AAC AAD olmak üzere devam edecek. Ayrıca daha önce alınmış kod sistemden silinmiş ise o kodu sistem bana vermeyecek. Örnek AAC kodunu sistemden aldım ve sonradan sildim sistem bana bu kodu tekrar vermeyecek en son vermiş olduğu koddan devam edecek. AAAdan başlayıp ZZZye kadar kod oluşturulacak kodu itertools ile buldum ancak yukarıdaki aşamalarda takıldım kaldım.
Nasıl bir yol izlemeliyim?
Ücretli veya ücretsiz yardımcı olabilir misiniz

KOD YAPISIDA AŞAĞIDAKİ GİBİDİR.
class Anakod(models.Model):
"""Anakod used for excavations"""
anakod_buluntu_yeri_id = models.PositiveSmallIntegerField(null=False, blank=False)
anakod = models.CharField(max_length=200)
buluntu_yeri = models.CharField(max_length=200)
mezar_no = models.CharField(max_length=40)
buluntu_yili = models.DateTimeField('date published')
seviye = models.CharField(max_length=40, blank=True)
plankare = models.CharField(max_length=40, blank=True)
tabaka = models.CharField(max_length=100, blank=True)
aciklama = models.TextField(blank=True)
durum = models.BooleanField()
def __str__(self):
return self.anakod
def generate_anakod(self):
exclude_char = re.compile('(X|Q|W)')
prod = product(exclude_char.sub('', ascii_uppercase), repeat=3)
for item in prod:
print(''.join(item))