0

我正在尝试通过实施在线论坛来学习 Python 和 Django。现在,我正在尝试将帖子标题的默认值设置为“Re:”+ thread.title,但我似乎做不到。

我已经搜索过类似的东西,但似乎没有任何东西可以回答我的问题。

这是我的代码(models.py):

from django.db import models

class Thread(models.Model):
    title = models.CharField(max_length=50)

    def __unicode__(self):
        return u'[id=%s]%s' % (self.id, self.title)

class Post(models.Model):
    thread = models.ForeignKey(Thread)
    title = models.CharField(max_length=50)
    post_date = models.DateTimeField(auto_now_add=True)
    content = models.TextField()

    def __init__(self):
        super(Post, self).__init__()
        if not self.title:
            self.title = "Re: %s" % self.thread.title

    def __unicode__(self):
        return u'%s::[id=%s]%s' % (self.thread, self.id, self.title)

我希望有一个人可以帮助我。

问候,乍得

4

1 回答 1

1

您可能希望在被覆盖的save方法中设置默认值。您的__init__代码不起作用,因为此时self.thread尚未设置。

于 2013-03-24T13:51:27.817 回答