这是我的型号.py代码:
from django.db import models
import shortuuid
class website(models.Model):
url = models.URLField(max_length=100)
uid = models.CharField(unique = True, max_length=40,default=str(shortuuid.uuid(name=url)))
def __unicode__(self):
return self.url
在django管理面板中,当我输入URL
时,uid
的值不会改变。我只想输入URL,然后想使用shortuuid
函数生成uid
。我想将uid
设置为editable=False
,但在此之前我想确保函数正常工作正确。怎么做自动将uid
值作为输入传递url
?你知道吗
你不会在那里做的。不能在类级别编写依赖于类的实例属性的内容:这根本不可能。更重要的是,在实例化对象时会分配一个默认值,但是您希望在用户更改另一个属性的值之后更改它,所以这根本不是默认值。你知道吗
相反,您可能希望在保存时定义此值。只需重写
save
方法即可轻松实现:相关问题 更多 >
编程相关推荐