亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

字段“id”需要一個數字,但得到“create”

字段“id”需要一個數字,但得到“create”

子衿沉夜 2024-01-04 15:38:07
我一直在嘗試創建此模型對象,但不斷收到此錯誤:字段“id”需要一個數字,但得到“創建”。錯誤圖片分享如下。我正在使用 djangi 3.0.3 view.py 文件:-from django.shortcuts import renderfrom . import modelsfrom django.views.generic import (View,TemplateView,ListView,DetailView,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? CreateView,UpdateView,DetailView)# Create your views here.class IndexView(TemplateView):? ? template_name = 'index.html'class SchoolListView(ListView):? ? context_object_name = 'schools'? ? model = models.Schoolclass SchoolDetailView(DetailView):? ? context_object_name = 'school_detail'? ? model = models.School? ? template_name = 'basic_app/school_detail.html'class SchoolCreateView(CreateView):? ? fields = ('name','principal','location')? ? model = models.Schoolmodel.pyfrom django.db import modelsfrom django.urls import reverse# Create your models here.class School(models.Model):? ? name = models.CharField(max_length=265)? ? principal = models.CharField(max_length=256)? ? location = models.CharField(max_length=256)? ? def __str__(self):? ? ? ? return self.name? ? def get_absolute_url(self):? ? ? ? return reverse("basic_app:detail", kwargs={'pk':self.pk})class Student(models.Model):? ? name = models.CharField(max_length=256)? ? age = models.PositiveIntegerField()? ? school = models.ForeignKey(School, related_name='student', on_delete=models.CASCADE)? ? def __str__(self):? ? ? ? return self.name
查看完整描述

1 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

這看起來像是您的 urls.py 的錯誤。只要確保當您在 urls.py 中提到 URL 路徑時,明確的路徑在前,變量路徑在后。例如,這段代碼會給你一個錯誤:

path('<int:id>/' , view.DetailView.as_view(), name="detail")
path('create/' , view.CreateView.as_view(), name="create")

為了避免錯誤,只需更改順序,如下所示:

path('create/' , view.CreateView.as_view(), name="create")
path('<int:id>/' , view.DetailView.as_view(), name="detail")

發生這種情況是因為在后面的代碼中,django 將查找路徑 /create,如果無法匹配,它將查找路徑 int:id/。現在,由于 int:id/ 是一個變量,如果 django 首先查找它,它將嘗試將“create”分配給 id 變量,這將產生驗證問題。


查看完整回答
反對 回復 2024-01-04
  • 1 回答
  • 0 關注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號