2013-05-10 84 views
-4

我正在开发类似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页面上的”实现。

+0

你会如何回答标记为正确的? – 2013-05-10 13:35:49

+3

我不知道你在问什么。什么是“定义正确答案的控制器”?它应该做什么?正确的答案在您的模型中定义。 – 2013-05-10 13:36:43

+0

如果你有一对一(一对多)的关系,你不应该将它定义为多方(回答)中的一个属性,而应该将其定义为一个属性(问题)。在你的例子中完全有可能有多个is_right答案。 – gertvdijk 2013-05-10 14:45:53

回答

0

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

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是一个全功能的计算器克隆,写在Django https://github.com/ASKBOT/askbot-devel

+0

谢谢,@ dm03514 您的链接非常有用 – Alexei 2013-05-10 15:19:50