我需要遍歷 Django 中模型的所有欄位物件。一旦我瀏覽完畢,我需要檢測在任何資料條目中這個特定欄位(型別)是否等于“Date1”。如果是我需要它向 Django 模板發送一個等于“True”的字串的變數(val)。我已經設定好了一切,看起來很簡單,看起來應該可以作業。val 本身可以在不在 if 陳述句中時向模板發送一個值,并且 for 回圈也可以正常作業。即使“Date1”作為模型“Field_Repo1”中條目的型別欄位中的值存在,也不會發送 val 并且永遠不會迭代 if 陳述句(我通過使用列印知道這一點)。無論如何,if 陳述句永遠不會運行。代碼如下。提前致謝。
context = {}
context['Field_Repo1'] = Field_Repo1.objects.filter(user=response.user)
for type1 in Field_Repo1.objects.values_list('type'):
if type1 == "Date1":
val = "True"
context['val'] = val
print(val)
print(AHHHHHHHHHHHH)
if response.method == 'POST':
form = Field_Repo1_Form(response.POST, response.FILES)
if form.is_valid():
instance = form.save(commit=False)
instance.user = response.user
instance.save()
response.user.Field_Repo1.add(instance)
return redirect('repo1')
else:
form = Field_Repo1_Form()
context['form'] = form
return render(response, 'sheets/add_fields/repo1_add_field.html', context)
uj5u.com熱心網友回復:
該values_list()函式回傳一個元組查詢集。for回圈中的陳述句if type1 == "Date1":試圖比較"Date1"和 元組之間的相等性,這永遠不會是真的。查詢集中的元組長度均為 1,因為您只向values_list()函式傳遞了一個欄位,因此您應該能夠進行if type1[0] == "Date1":比較。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/395946.html
