2015-11-07 82 views
6

我的models.py如下:如何设置一个随机整数作为一个Django CharField的默认值?

import random 
random_string = str(random.randint(10000, 99999)) 

class Content(models.Model): 
    ...... 
    unique_url = models.CharField(default = random_string) 

当我添加在管理内容,则产生的整数并投入charfield作为它的默认值。从那里,我可以简单地向charfield添加更多的单词。但是,我目前的设置存在的问题是每次添加新文章时整数都保持不变。我想生成和我使用unique_url场基本上找到我的每个特定对象的插入随机整数,我期待了很多内容,所以加入了随机数通常会确保每个内容都有的一个kind unique_url。

所以,我在找生成一个随机整数每次新的内容使用管理面板添加,并把它作为一个字段的默认系统。在Django中甚至可能有这样的事情吗?

回答

7

这样你生成一个随机数一次。您需要定义一个函数,例如:为了

def random_string(): 
    return str(random.randint(10000, 99999)) 

,然后定义你的模型,你已经有了,没有()传递给函数本身,而由该函数返回一个值的参考:

class Content(models.Model): 
    ...... 
    unique_url = models.CharField(default = random_string) 
+0

啊谢谢,它工作得很好! –

+0

我很高兴,欢迎! PS。我刚刚达到我的3k点thx您的问题! – Wtower

相关问题