簡體   English   中英

如何解決當虛擬數據存儲在 Django 數據庫中且其 id 為 none 且所有值為 null 時的錯誤

[英]How to solve the error when dummy data gets stored in Django database with its id as none and all values as null

我在 Django 中制作了這個表格,它需要一些數據,當點擊保存按鈕時,它會將其保存到數據庫中。 它存儲了我提供的數據,但我注意到每次刷新包含表單的頁面時,它都會自動保存一個 object,ID 為 none,所有值都設置為 null。 我想知道如何編寫一個 function 表示表單僅在單擊保存提交按鈕時提交到數據庫,而不是在重新加載頁面並在數據庫中創建虛擬 object 時提交到數據庫。

我認為這里的問題在於視圖,更具體地說,是您如何處理視圖內的請求。 無論請求方法是什么,您似乎都在保存 object,這就是為什么即使刷新頁面也會保存一個新的 object。

您必須在表單中添加 csrf_token!

如下例所示...

你寫在文件 html

<form method="post">
{% csrf_token %}
<input name="plan" id="id_plan" value="1">
<button>buy</button>
</form>

你寫在models.py

class Account(models.Model):
    user = models.OneToOneField(djangoUser, on_delete=models.CASCADE, verbose_name=_('User'))

你寫在views.py

class testviews(TemplateView):
model: Account
    def forms_valid(self, form):
            user = Account.objects.filter(user=self.request.user)
            user.save()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM