Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何向Django模型添加计算出的默认值?_Python_Django - Fatal编程技术网

Python 如何向Django模型添加计算出的默认值?

Python 如何向Django模型添加计算出的默认值?,python,django,Python,Django,我试图通过实现一个在线论坛来学习Python和Django。现在,我正试图将帖子标题的默认值设置为“Re:”+thread.title,但我似乎做不到 我一直在寻找类似的东西,但似乎没有任何东西能回答我的问题 以下是我的代码(models.py): 我希望有人能帮助我 问候,, Chad您可能希望在覆盖的保存方法中设置默认值。您的\uuuu init\uuuu代码不工作,因为此时self.thread尚未设置。谢谢。我很好奇,在通过管理页面添加内容时,这会很明显吗?@Chad没有,但您没有很多其

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

我一直在寻找类似的东西,但似乎没有任何东西能回答我的问题

以下是我的代码(models.py):

我希望有人能帮助我

问候,,
Chad

您可能希望在覆盖的
保存方法中设置默认值。您的
\uuuu init\uuuu
代码不工作,因为此时
self.thread
尚未设置。

谢谢。我很好奇,在通过管理页面添加内容时,这会很明显吗?@Chad没有,但您没有很多其他选项,因为在管理中创建对象时,
self.thread
最初是空的。非常感谢您的帮助。
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)