在django 1.5模型中自动创建slug字段 - 来自django教程的示例

时间:2013-03-13 22:45:15

标签: django django-models

我是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问题,那就很抱歉。

1 个答案:

答案 0 :(得分:4)

您没有正确调用save方法。 p.save需要p.save()。前者只返回save属性的内容,后者是方法本身,后者实际执行该方法。