Django ';列表';对象没有属性'_元';?

Django ';列表';对象没有属性'_元';?,django,forms,python-2.7,templates,meta,Django,Forms,Python 2.7,Templates,Meta,我正在为一家医疗公司制作CRUD,我试图显示某位医生的专业知识,但当他们有多个专业知识时,我试图将该对象作为列表(我得到了) 但是当我尝试将它传递给模板时,它失败了,我能做什么 这是我的看法 def UpdatePhysician(request,id): physician = get_object_or_404(Physician, id=id) employee = get_object_or_404(Employee, id=physician.employee.id) person

我正在为一家医疗公司制作CRUD,我试图显示某位医生的专业知识,但当他们有多个专业知识时,我试图将该对象作为列表(我得到了)

但是当我尝试将它传递给模板时,它失败了,我能做什么

这是我的看法

def UpdatePhysician(request,id):

physician = get_object_or_404(Physician, id=id)
employee = get_object_or_404(Employee, id=physician.employee.id)
person = get_object_or_404(Person, id=employee.person.id)
try:
    address = get_object_or_404(Address, id=return_id(str(person.addresses.values('id'))))
except:
    address = None
try:
    email = get_object_or_404(Email, id=return_id(str(person.emails.values('id'))))
except:
    email = None
try:
    phone = get_object_or_404(PhoneNumber, id=return_id(str(person.phone_numbers.values('id'))))
except:
    phone = None
try:
    academic_degree = get_object_or_404(AcademicDegree, id=return_id(str(employee.academic_degrees.values('id'))))
    university = get_object_or_404(University, id=return_id(str(employee.academic_degrees.values('university'))))
except:
    academic_degree = None
    university = None
physician_specialties = get_list_or_404(PhysicianSpecialties, employee_academic_degree__employee__pk=physician.employee.id)
for item in physician_specialties:
    print(unicode(item.specialty))
physician_specialties_form = PhysicianSpecialtiesForm(request.POST or None, instance=physician_specialties)
specialties = Specialty.objects.all()
specialty = PhysicianSpecialties.objects.filter(employee_academic_degree__employee__physician__pk=id)
academic_degree = EmployeeAcademicDegree.objects.filter(employee__physician__pk=id)

person_form = PersonForm(request.POST or None, instance=person)
employee_form = EmployeeForm(request.POST or None, instance=employee)
physician_form = PhysicianForm(request.POST or None, instance=physician)
email_form = EmailForm(request.POST or None, instance=email)
address_form = AddressForm(request.POST or None, instance=address)
phone_form = PhoneForm(request.POST or None, instance=phone)
academic_degree_form = AcademicDegreeForm(request.POST or None, instance= academic_degree)
university_form = UniversityForm(request.POST or None, instance=university)


if (person_form.is_valid() and employee_form.is_valid() and physician_form.is_valid() and email_form.is_valid() and
        address_form.is_valid() and phone_form.is_valid and physician_form.is_valid() and university_form.is_valid and
        academic_degree_form.is_valid()):
    person_form.save()
    physician_form.save()
    academic_degree_form.save()
    new_address = address_form.save()
    new_email = email_form.save()
    new_phone = phone_form.save()
    university_form.save()

    if address == None:
        PersonAddress.objects.create(person=person, address=new_address)

    if email == None:
        PersonEmail.object.create(person=person, email=new_email)

    if phone == None:
        PersonPhoneNumber.objects.create(person=person, hone_number=new_phone)

    return HttpResponse('yesh')

return render(request, 'UpdatePhysician.html', {'person_form': person_form,
                                                'employee_form': employee_form,
                                                'email_form': email_form,
                                                'phone_form': phone_form,
                                                'address_form': address_form,
                                                'physician_form': physician_form,
                                                'specialty': specialty,
                                                'academic_degree_form': academic_degree_form,
                                                'academic_degree': academic_degree,
                                                'university_form':university_form,
                                                'specialties': specialties,
                                                'physician_specialties_form': physician_specialties_form,
                                                })
问题在于

physician_specialties = get_list_or_404(PhysicianSpecialties, employee_academic_degree__employee__pk=physician.employee.id)
for item in physician_specialties:
    print(unicode(item.specialty))
physician_specialties_form = PhysicianSpecialtiesForm(request.POST or None, instance=physician_specialties)

内科医师专业
是一个列表,而不是一个
实例
。好了,明白了,所以有什么建议可以将信息传递给模板(完整列表)。它不是一个模板,它是一个表单。您应该看看Formset,它可以一次编辑多个项目。