我正在尝试为我的Django对象获取唯一的ID.在Django 1.8中,他们拥有UUIDField.我不确定如何使用此字段为我的模型中的每个对象生成唯一的ID.
这是我对UUIDField的看法
import uuid
from django.db import models
class MyUUIDModel(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
class Person(models.Model):
...
unique_id = MyUUIDModel()
Run Code Online (Sandbox Code Playgroud)
我可以重现UUID模型的id,但每次我都会得到完全相同的id.:(. 例如:
person = Person.objects.get(some_field = some_thing)
id = person.unique_id.id
Run Code Online (Sandbox Code Playgroud)
id然后每次给我相同的id.有什么问题,我该如何解决这个问题?谢谢您的帮助!
我正在尝试为我的 android 应用程序在烧瓶中编写一个基于令牌的身份验证。为此,我需要一个唯一的令牌,我可以使用它来验证用户。
它的危险库提供了一个 JSONWebSignatureSerializer 函数,我可以使用它来创建 JWT 令牌。所以我的第一个问题是,将 JWT 用于基于移动的身份验证是否安全?
其次,我对 django rest 框架如何生成其令牌进行了一些研究。
def generate_key(self):
return binascii.hexlify(os.urandom(20)).decode()
Run Code Online (Sandbox Code Playgroud)
这个令牌是唯一的还是只是一个随机的?我应该使用哪一个进行基于移动的身份验证?
在 python 中为移动应用程序生成唯一令牌的基本方法是什么?
我有一张名为events
所有新信息的表格.此表用作所有新闻订阅查询的参考,因此从那里选择事件项,并从正确的表中检索与该事件对应的信息.
现在,这是我的问题.我E_ID
在事件表中对应于不同表中事件的ID,无论是T_ID
for tracks
,S_ID
for status
等等......这些ID可能是相同的,所以暂时我只使用了不同的auto_increment值对于每个表,所以status
从500开始tracks
0等等.显然,我不想这样做,因为我不知道哪个表将拥有最多的数据.我认为status
会很快超过tracks
.
信息将event
通过触发器插入表中.这是一个例子;
BEGIN
INSERT INTO events (action, E_ID, ID)
VALUES ('has some news.', NEW.S_ID, NEW.ID);
END
Run Code Online (Sandbox Code Playgroud)
那是他的状态表.
是否有一个额外的触发器,我可以确保NEW.S_ID
!= a E_ID
当前进入events
,如果它确实改变了S_ID
相应的.
或者,是否有某种键可用于在自动递增时引用事件,S_ID
以便S_ID
不会增加到值E_ID
.
这些是我的想法,我认为后一种解决方案会更好,但我怀疑它是否可能,或者它是否需要另一个参考表并且太复杂了.