【问题标题】:Conrtoller for "right answer" [closed]“正确答案”的控制器[关闭]
【发布时间】:2013-05-05 05:05:39
【问题描述】:

我正在开发像http://stackoverflow.com 这样的项目。所以,就像问题和答案一样。我试图找出“正确答案”的实现。我正在使用 Django。
这是“答案”的模型:

class Answer(models.Model):
    question = models.ForeignKey(Question)
    content = models.TextField()
    author = models.ForeignKey(User)
    date = models.DateTimeField(db_index=True, default=datetime.now())
    is_right = models.BooleanField(default=False)
    ratio = models.IntegerField(db_index=True, default=0)

我对控制器定义“正确答案”和“在 HTML 页面上”实现感兴趣。

【问题讨论】:

  • 您如何将答案标记为正确?
  • 我不知道你要什么。什么是“定义正确答案的控制器”?它应该怎么做?正确的答案就在您的模型中定义。
  • 如果您有一对多 (q-to-a) 关系且其中一个是特殊的,则不应将其定义为多方面的属性(答案),而是一方面(问题)。在您的示例中,完全有可能有多个 is_right 答案。
  • 不要在模型中调用datetime.now() 函数。您会发现所有创建的答案都将具有服务器启动时间的日期。相反,请执行以下操作:date = models.DateTimeField(db_index=True, default=datetime.now).
  • 谢谢大家。我的意思是 MVC 模型中的控制器。

标签: python django


【解决方案1】:

标记答案正确的控制器可以很简单

def mark_right(answer_id):
  try:
    answer = Answer.objects.get(pk=answer_id)
  except Answer.DoesNotExist:
    raise Http404
  answer.is_right = True
  answer.save()

另外,askbot 是一个功能齐全的 stackoverflow 克隆,用 django 编写 https://github.com/ASKBOT/askbot-devel

【讨论】:

  • 谢谢,@dm03514 你的链接很有帮助
猜你喜欢
  • 2014-01-30
  • 2019-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-23
  • 2018-07-07
  • 2022-08-15
  • 1970-01-01
相关资源
最近更新 更多