Как сгенерировать случайный уникальный идентификатор в django?
Я пытаюсь сгенерировать случайное имя пользователя на основе его полного имени.
Также здесь телефон разрешен как null и blank, но при создании api представления пустая строка передается на сервер, если телефон не указан, и при этом возникает ошибка целостности телефона.
Здесь я думаю, что с условием while я получаю 504 Gateway Time-out
ответ.
Есть ли способ обойтись без оператора while, так как он делает запрос медленнее.
class User(AbstractUser):
phone = models.CharField(max_length=10, blank=True, null=True, unique=True)
...
def save(self, *args, **kwargs):
if not self.username:
counter = 1
name = self.full_name
unique_id = name.replace(" ", "")
while User.objects.filter(username=unique_id):
name = f"{unique_id}{counter+1}"
self.username = unique_id
return super().save(*args, **kwargs)