如何在用户注册后生成幻数并将其填充到数据库中?

乔纳斯

我正在寻找一种在注册我的页面时将随机生成的数字字母组合分配给用户的方法。

因此,如果一个用户在我的网站上注册,则将有一个随机生成的数字字母组合(称为magic number)分配给该用户并填充到PostgreSQL用户表中。

有通用的方法吗?

我是否必须在现有的类中定义此类功能,或者有不同的工作流程?

这是我的model(继承自DjangosAbstractUser模型):

from django.contrib.auth.models import AbstractUser
from django.db import models

class CustomUser(AbstractUser):
    pass
    first_name = models.CharField(max_length=500, blank=False)
    last_name = models.CharField(max_length=30, blank=False)

    def __str__(self):
        return self.username
威廉·范昂塞姆

有通用的方法吗?

看起来您想要的是与通用唯一标识符(UUID) [wiki]有关的东西,它是一个128位的数字,通常用十六进制表示法表示。如果两个(或更多服务器)需要分配应该唯一的ID,但是他们不了解另一台服务器已经分配的ID,则通常使用此方法。严格来说,两个服务器可能会生成相同的UUID。但是,要生成大约2.71×10 18个数字,就必须有两个相同的UUID发生的可能性为50%,这看起来相当大,可以假设不会发生。

Django的最新版本有一个UUIDField[Django-doc],可帮助您使用UUID。如所记录的,您可以将其与:

import uuid
from django.db import models

class MyUUIDModel(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

请注意,您本身并不需要将此作为主键。您还可以将其用作与主键一起使用的额外唯一值(例如,为此目的,slug也被称为somtimes):

import uuid
from django.db import models

class MyUUIDModel(models.Model):
    uuid = models.UUIDField(unique=True, default=uuid.uuid4, editable=False)

例如,如果您想使用GenericForeignKey[Django-doc],则可能需要使用原始主键。因为否则引用使用aUUIDField和an的两个模型AutoField可能会很麻烦。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从 Firebase 数据库获取数据并将其填充到 ListView 中

从数据库中获取联系人列表,并将其填充到视图“列表”中

如何在Laravel中为每个用户生成唯一的随机值并将其添加到数据库

如何在Firebase数据库中存储用户UID并将其映射到POJO

如何创建数据库并将其填充在sqlite android中?

如何在django中读取文件并将其填充到HttpResponse中?

如何在对象中存储数据并将其保存到SQLite数据库中?

如何从数据网格中获取用户的电子邮件地址,并将其填充到asp.net中的电子邮件中

如何在用户电话中升级sqlite数据库

如何在Swift中将数据从外部数据库填充到UItableView

如何在tableview中编辑并将其保存在数据库中

如何在Firebase数据库中检索值并将其插入HTML

如何在数据库中爆炸值并将其用于选择查询?

如何在LINQ(C#)中引用数据库表并将其作为JsonResult返回

用户注册期间如何在Firebase的实时数据库中存储数据?

如何使用 ImageView 将现有 sqlite 数据库中的数据填充到 ListView

如何在Swift中将注册用户写入数据库?

Rails6如何将数据库中的文本填充到ActionText中

计算点数并将结果保存在用户配置文件数据库中

如何在spring-boot中生成client-id和client-secret并将其存储在数据库中?

如何从 axios 检索数据并将其填充到 Vue.js 中的编辑表单(选择选项)中?

如何在用户验证密钥下将数据正确存储在实时数据库中?

如何在表单中使用hstore数据类型字段并将其存储在Rails 4中的数据库中?

Laravel:如何访问已登录用户的唯一ID并将其用于数据库查询中?

如何有效地记录使用javascript键入的用户并将其存储在数据库中?

每次创建文章并将其保存在数据库中时,如何生成一个标签?

我如何在Laravel 4中存储图像并将其显示在数据库中的网页中

我如何在不从Android创建子节点的情况下将字符串值填充到实时Firebase数据库中?

如何选择 Python 列表框数据并将其填充到特定的实体框 - pretype