我需要在保存答案后获得问题。
class Answer(models.Model):
# ...
def save(self, *args, **kwargs):
super(Answer, self).save(*args, **kwargs)
# I need to get question object here
q = self.question.get()
和问题
class Question(models.Model):
# ...
answer = models.ForeignKey(Answer,
related_name='question',
blank=True,
null=True)
它们通过外键相关联。如果我尝试answer.question.get()
我就知道它不存在。如果我试图通过answer_id
得到问题,它就找不到任何问题,好像问题还没有更新(但我可以稍后再说)。有什么想法吗?
答案 0 :(得分:0)
一个问题可以有很多答案,因此从char *time2str(time_t time) {
static_char *str_fmt = "%02d/%02d/%4d %02d:%02d";
char *time_s = "";
return time_s;
}
到Question
的1-M关系。因此,需要在Answer
模型中定义ForeignKey
。
Answer
在class Answer(models.Model):
# ...
question = models.ForeignKey(Answer,
related_name='answers',
blank=True,
null=True)
方法中,只需访问此类属性save
即可获得问题
question
并且class Answer(models.Model):
# ...
def save(self, *args, **kwargs):
super(Answer, self).save(*args, **kwargs)
q = self.question
也应始终为Answer
,因此Question
不应出现blank=True, null=True
问题。