python - 如何通过在基于类的视图中单击按钮来更新 django moodel 值
问题描述
我目前有一个看起来像的模型:
模型
class Answer(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE, related_name='answers')
author = models.ForeignKey(User, on_delete=models.CASCADE)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
is_best_answer = models.BooleanField(default=False)
def set_best_answer(self):
self.is_best_answer = True
self.save()
def get_absolute_url(self):
return reverse('question-detail', kwargs={'pk': self.question.pk})
def __str__(self):
return f"Answer by {self.author} with text: {self.content}"
我有一个基于类的列表视图,其中列出了上述所有答案。我想在模板中添加一个按钮,将 is_best_answer 模型中的值更新为 True 例如
html
<a class="btn btn-outline-dark " href="{% url 'select' answer.id %}">Set Best Answer</a>
看法
def set_best_(request, pk):
answer = Answer.objects.filter(pk=pk).first()
answer.set_best_answer()
return redirect('/')
网址
path('answer/<int:pk>/best-answer/', set_best, name='select'),
以上对我有用,但我不得不调用一个函数,而不是与基于类的视图有关。有没有更好的办法?
丹戈 3.1 版
解决方案
推荐阅读
- c# - .NET Core 库未读取配置文件
- json - JSON模式验证数组的头部和尾部
- firebase - 如何从 Firebase 获取随机孩子
- sql-server - 如何记录存储过程执行运行时间
- unit-testing - Mockito - Kotlin 测试在尝试捕获 Pageable 参数时抛出空指针异常
- sql - 如何在 postgresql 中使用带有数组列的 GIN 索引?
- javascript - React - 通过链接到浏览器页面时如何更改样式
- reactjs - React 索引保持相同的值 (0)
- javascript - 获取 TypeError:尝试设置 props.children 时 props.children 不是函数
- java - com.google.firebase.database.DatabaseException:无法将 java.lang.String 类型的对象转换为 com.example.gatewayrestaurant.model1 类型