DjangoはMySQLでは2つのレコードを1つではなく作成しています。Django 1つではなく2つのレコードを作成する
私は、関数自体は非常に単純です
<a href="{% url 'markpresent' id=c.id %}"><button class="btn btn-primary">Thats Me!</button></a>
リンクを介して関数を呼び出します。変数をrequest.getで取得し、新しいオブジェクトを作成して最後に保存します。しかし、私はDBをチェックすると、1つではなく、2つのレコードがあります。
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)
すべてのヘルプや方向をいただければ幸いです。 ANSWERS
<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,
})
に基づく
SOLUTIONあなたがGET要求にデータベースを変更することは避けてくださいおかげ
def markpresent(任意の印刷メッセージ)にデバッグプリントを追加できますか? runserverのコンソールで何回印刷されているのかを確認してください –
私はリモートサーバ上の乗客経由でこれを実行していますので、runserverは実際にはオプションではありません。現在の環境でのトラブルシューティングに関する提案はありがたいですが、セットアップではrunserverを使用できません。 – PerryDaPlatypus