我是Django的新手,我正试图在django模型中自动创建一个slug字段。所以,按照django 101教程,我尝试从以下models.py
创建slug字段class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
slugp = models.SlugField(max_length=255, unique=True)
def __unicode__(self):
return self.question
def save(self, *args, **kwargs):
self.slugp = slugify(self.question)
super(Poll, self).save(*args, **kwargs)
然后我按如下方式使用django API:
from writedb.models import Poll, Choice
from django.utils import timezone
p = Poll(question="What's new?", pub_date=timezone.now())
p.save
# out: <bound method Poll.save of <Poll: What's new?>>
p.slugp
#out: u''
无论我做什么,slugp字段似乎都没有被填充(或者我访问它的方式是错误的?我似乎不在数据库中填充字段) - 我想知道我做错了什么。任何指针都会非常感激 - 如果这是一个101问题,那就很抱歉。
答案 0 :(得分:4)
您没有正确调用save
方法。 p.save
需要p.save()
。前者只返回save
属性的内容,后者是方法本身,后者实际执行该方法。