对于一个帐户的简单激活密钥,我必须从随机数创建密钥,同时确保我没有使用与另一个帐户相同的密钥。现在,这就是我所拥有的:
def get_random_word():
word = ''
i = 0
while i in range(10) and User.objects.filter(activation_key = word).exists():
word += random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789')
i+=1
return word
我现在意识到的问题是我使用 django 的内置User
类和这样的用户配置文件:
def create_user_info(sender, instance, created, **kwargs):
if created:
UserInfo.objects.create(user=instance)
post_save.connect(create_user_info, sender=User)
class UserInfo(models.Model):
user = models.OneToOneField(User)
pen_name = models.CharField(max_length=30)
activated = models.BooleanField()
activation_key = models.CharField(max_length=40)
def __unicode__(self):
return self.email + '-' + self.pen_name
我需要按用户配置文件过滤。所以,简而言之,我如何通过键或更具体地说,用户配置文件进行过滤。