大佬教程收集整理的这篇文章主要介绍了无法分配“'7'”:“Appointment.your_service”必须是“Service”实例,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个“美容院管理系统”项目,但出现此错误(无法分配“'7'”:“Appointment.your_service”必须是“服务”实例。)这里的任何人都可以帮助我,请。
当我填写预约表格时,我收到了这个错误。
@H_12_2@models.pyclass service(models.Model):
name = models.CharFIEld(max_length=50)
price = models.IntegerFIEld(default=0)
image = models.ImageFIEld(upload_to='uploads/productimg')
class Appointment(models.Model):
your_name = models.CharFIEld(max_length=100)
your_phone = models.CharFIEld(max_length=10)
your_email = models.EmailFIEld(max_length=200)
your_service = models.ForeignKey('service',on_delete=models.CASCADE,default=1)
your_date = models.DateFIEld()
vIEws.py
def appointments(request):
if request.method == 'GET':
return render(request,'core/bookappointment.HTML')
else:
your_name = request.POST.get('your-name')
your_phone = request.POST.get('your-phone')
your_email = request.POST.get('your-email')
your_service = request.POST.get('your-service')
your_date = request.POST.get('your-date')
details = Appointment(
your_name = your_name,your_phone = your_phone,your_email = your_email,your_service = your_service,your_date = your_datE)
details.save()
return render(request,'core/appointments.HTML')
您通过将方法分配给 your_service_id
字段来创建它,如果您使用 your_service
,它应该是一个 service
对象:
details = Appointment.objects.create(
your_name=your_name,your_phone=your_phone,your_email=your_email,your_service_id=your_service,your_date=your_date
)
话虽如此,通常最好使用 @H_792_9@modelForm 验证、清理和保存数据,而不是手动进行。
注意:如果 POST 请求成功,您应该发出 redirect
[Django-doc]
实现Post/Redirect/Get pattern [wiki]。
这样可以避免您在用户刷新时发出相同的 POST 请求
浏览器。
def appointments(request,pk):
record = get_object_or_404(service,pk=pk)
if request.method == 'POST':
form = appointmentsForm(request.POST,request.FILES)
if form.is_valid():
appointment= form.save(commit=falsE)
appointment.your_service = record
appointment.save()
return render(request,'core/bookappointment.html')
else:
return render(request,'core/appointments.html')
以上是大佬教程为你收集整理的无法分配“'7'”:“Appointment.your_service”必须是“Service”实例全部内容,希望文章能够帮你解决无法分配“'7'”:“Appointment.your_service”必须是“Service”实例所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。