Django在MySQL中創建兩條記錄,而不是一條記錄。Django保存創建兩條記錄而不是一條
我通過一個鏈接
<a href="{% url 'markpresent' id=c.id %}"><button class="btn btn-primary">Thats Me!</button></a>
函數本身是非常簡單的調用一個函數。我通過request.get獲取變量,創建一個新對象,最後保存它。但是,當我檢查DB時,有兩條記錄,而不僅僅是一條。
def markpresent(request, id):
new_attendance = attendance(clientid_id = id, date = datetime.datetime.now(), camp = 3)
new_attendance.save()
return render(request, 'clienttracker/markpresent.html', {
'client': id,
})
模型
class attendance(models.Model):
clientid = models.ForeignKey(newclients, on_delete=models.CASCADE)
date = models.DateField()
camp = models.CharField(max_length = 3, default=0)
任何幫助和方向,將不勝感激。
解決方案根據回答
<form action="{% url 'markpresent' %}" method="post">
{% csrf_token %}
<button type="submit" name="client" value="{{ c.id }}" class="btn btn-primary">Thats Me!</button>
</form>
def markpresent(request):
id = request.POST.get('client')
new_attendance = attendance(clientid_id = id, date = datetime.datetime.now(), camp = 3)
new_attendance.save()
return render(request, 'clienttracker/markpresent.html', {
'client': id,
})
感謝
您可以在def markpresent(任何打印消息)中添加調試打印嗎?查看在runserver的控制檯中打印了多少次 –
我通過遠程服務器上的乘客運行此操作,因此runserver實際上不是此處的選項。任何有關當前環境中的故障排除建議將不勝感激,但與設置,我不能使用runserver。 – PerryDaPlatypus