程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了无法分配“'7'”:“Appointment.your_service”必须是“Service”实例大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决无法分配“'7'”:“Appointment.your_service”必须是“service”实例?

开发过程中遇到无法分配“'7'”:“Appointment.your_service”必须是“service”实例的问题如何解决?下面主要结合日常开发的经验,给出你关于无法分配“'7'”:“Appointment.your_service”必须是“service”实例的解决方法建议,希望对你解决无法分配“'7'”:“Appointment.your_service”必须是“service”实例有所启发或帮助;

我正在开发一个“美容院管理系统”项目,但出现此错误(无法分配“'7'”:“Appointment.your_service”必须是“服务”实例。)这里的任何人都可以帮助我,请。

当我填写预约表格时,我收到了这个错误。

@H_12_2@models.py

class 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,请注明来意。
标签: