Модели автозаполнения в Django

Что я пытаюсь реализовать - это систему приглашений, пока я разрабатываю свой сайт, но я новичок в том, как работает Django.

На данный момент я хочу иметь возможность создавать случайные строки в панели администратора, чтобы они добавлялись в базу данных, а затем требовались для регистрации пользователя. В конечном итоге я хочу создать систему групп пользователей на переднем сайте, где я смогу генерировать строки в панели администратора, а затем рассылать их таким образом, но я займусь этим позже.

У меня модель успешно отображается в панели администратора, но я не знаю, как сделать текстовое поле, которое автоматически заполняется каждый раз, когда я создаю новое, и чтобы строка была случайной каждый раз.

class randomString(models.Model):
    name = models.CharField(max_length=200)
    random = models.ManyToManyField(get_random_string(length=6))

Это мой текущий код, который выдает ошибку, но я предполагал, что так и будет, я сделал это так, чтобы проверить и убедиться, что все так просто. Я обнаружил, что это не так.

Вы можете просто использовать UUID:

from uuid import uuid4

class randomString(models.Model):
   name = models.CharField(max_length=200)
   random = models.UUIDField(unique=True, default=uuid4)

Если UUID слишком длинный, можно сгенерировать более короткую строку:

def generate_random():
    from django.utils.crypto import get_random_string
    return get_random_string(length=11)


class randomString(models.Model):
   name = models.CharField(max_length=200)
   random = models.CharField(default=generate_random, max_length=11, unique=True)
Вернуться на верх