import random import string from django.db.models.signals import post_save from django.dispatch import receiver from .models import Club def generate_unique_code(): characters = string.ascii_letters + string.digits while True: code = ''.join(random.sample(characters, 3)) if not Club.objects.filter(broadcast_code=code).exists(): return code @receiver(post_save, sender=Club) def assign_unique_code(sender, instance, created, **kwargs): if created and not instance.broadcast_code: instance.broadcast_code = generate_unique_code() instance.save()