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