Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django反序列化程序抛出密钥错误_Django - Fatal编程技术网

Django反序列化程序抛出密钥错误

Django反序列化程序抛出密钥错误,django,Django,目前,我正在使用内置的django反序列化程序反序列化一个对象模型,我被这个KeyError异常所困扰,我无法获得关于哪个键是问题的更多信息。我不知道如何进行调试。有人有什么想法吗 注意:我不能使用内置的Django调试页面 这是我的代码的精简版本: try: # loop over deserialised objects returned from 'deserializer' print "serialise 123" for ob

目前,我正在使用内置的django反序列化程序反序列化一个对象模型,我被这个KeyError异常所困扰,我无法获得关于哪个键是问题的更多信息。我不知道如何进行调试。有人有什么想法吗

注意:我不能使用内置的Django调试页面

这是我的代码的精简版本:

try:   
        # loop over deserialised objects returned from 'deserializer'
        print "serialise 123"  
        for obj in serializers.deserialize(format, data):
            print "serialise 125"  
        return True 

    except DeserializationError:
        return -1

    except Exception as e:
        print "===================="
        print type(e)
        print "********************"
        print e.args
        print "!!!!!!!!!!!!!!!!!!!!"
        print e
        return False
这是输入XML:

<?xml version="1.0" encoding="utf-8"?>
<django-objects version="1.0">
  <object pk="D5202F00-A8C7-11E1-B68A-00219B15530E" model="contacts.company">
    <field type="CharField" name="name">Company Name</field>
    <field type="CharField" name="internal_name">ComName</field>
    <field type="CharField" name="reference">NoRef</field>
    <field to="contacts.companystatus" name="company_status" rel="ManyToOneRel">9FBC97A3-2179-11E0-AEB7-005056C00008</field>
    <field type="CharField" name="vat_number">248053</field>
    <field type="CharField" name="registration_number">43905309</field>
    <field type="FloatField" name="discount">4.0</field>
    <field type="TextField" name="notes">gfhdfghdfghdfghdfgh</field>
    <field type="TextField" name="jms_code"><None></None></field>
    <field type="TextField" name="logo"><None></None></field>
  </object>
  <object pk="D53368E1-A8C7-11E1-AF74-00219B15530E" model="contacts.address">
    <field to="contacts.company" name="company" rel="ManyToOneRel">D5202F00-A8C7-11E1-B68A-00219B15530E</field>
    <field type="CharField" name="group_name">Company Name</field>
    <field type="CharField" name="line1">Address 1</field>
    <field type="CharField" name="line2">Address 2</field>
    <field type="CharField" name="line3">Address 3</field>
    <field type="CharField" name="town">Town</field>
    <field type="CharField" name="county">Country</field>
    <field type="CharField" name="postcode">BA13 3WQ</field>
    <field type="CharField" name="country_iso">GB</field>
    <field type="CharField" name="telephone">01225555555</field>
    <field type="CharField" name="fax">01225555555</field>
    <field type="CharField" name="email">Email@Addre.ss</field>
    <field type="CharField" name="website">www.si.te</field>
    <field type="CharField" name="description">Main</field>
    <field type="CharField" name="jms_code"><None></None></field>
    <field type="CharField" name="notes">Notes</field>
  </object>
  <object pk="D53D7B00-A8C7-11E1-A34B-00219B15530E" model="contacts.contact">
    <field to="contacts.address" name="address" rel="ManyToOneRel">D53368E1-A8C7-11E1-AF74-00219B15530E</field>
    <field to="generic.title" name="title" rel="ManyToOneRel">04CD69A1-7FD4-11E0-A8A3-7071BCB8D2AB</field>
    <field type="CharField" name="forename">Forename</field>
    <field type="CharField" name="surname">Surname</field>
    <field type="CharField" name="position">Position</field>
    <field type="CharField" name="mobile">07912345064</field>
    <field type="CharField" name="direct_line">01225555555</field>
    <field type="CharField" name="email">Email@Addre.ss</field>
    <field type="IntegerField" name="origin">1</field>
    <field type="IntegerField" name="lead_source">1</field>
    <field type="TextField" name="notes">Notes</field>
    <field to="contacts.contactstatus" name="contact_status" rel="ManyToOneRel">10293BF4-217A-11E0-AEB7-005056C00008</field>
    <field to="contacts.contactmethod" name="contact_method" rel="ManyToOneRel">C240965A-2179-11E0-AEB7-005056C00008</field>
    <field type="CharField" name="jms_code"><None></None></field>
  </object>
  <object pk="89E270EE-A8D3-11E1-AC38-00219B15530E" model="contacts.supplies">
    <field to="contacts.supplier" name="supplier" rel="ManyToOneRel">43D00F61-A8C8-11E1-ACFE-00219B15530E</field>
    <field to="boughtin.boughtincontrolpanel" name="bought_in_control_panel" rel="ManyToOneRel">4</field>
  </object>
  <object pk="89F0539E-A8D3-11E1-A7EE-00219B15530E" model="contacts.supplies">
    <field to="contacts.supplier" name="supplier" rel="ManyToOneRel">43D00F61-A8C8-11E1-ACFE-00219B15530E</field>
    <field to="boughtin.boughtincontrolpanel" name="bought_in_control_panel" rel="ManyToOneRel">5</field>
  </object>
  <object pk="43D00F61-A8C8-11E1-ACFE-00219B15530E" model="contacts.supplier">
    <field to="contacts.company" name="company" rel="ManyToOneRel">D5202F00-A8C7-11E1-B68A-00219B15530E</field>
    <field to="contacts.customercategory" name="category" rel="ManyToOneRel"><None></None></field>
    <field type="CharField" name="account_number">1</field>
    <field type="CharField" name="reference">NoRef</field>
    <field type="TextField" name="notes"><None></None></field>
    <field type="DateTimeField" name="date_created">2012-05-28 14:23:08</field>
    <field type="DateTimeField" name="date_modified">2012-05-28 15:43:50</field>
    <field to="auth.user" name="user" rel="ManyToOneRel">1</field>
    <field type="CharField" name="jms_code"><None></None></field>
  </object>
</django-objects>

公司名称
商号
诺雷夫
9FBC97A3-2179-11E0-AEB7-005056C00008
248053
43905309
4
GFHDFGHDFGHDFGH
D5202F00-A8C7-11E1-B68A-00219B15530E
公司名称
地址1
地址2
地址3
城镇
国家
BA13 3WQ
国标
01225555555
01225555555
Email@Addre.ss
www.si.te
主要
笔记
D53368E1-A8C7-11E1-AF74-00219B15530E
04CD69A1-7FD4-11E0-A8A3-7071BCB8D2AB
名字
姓
位置
07912345064
01225555555
Email@Addre.ss
1.
1.
笔记
10293BF4-217A-11E0-AEB7-005056C00008
C240965A-2179-11E0-AEB7-005056C00008
43D00F61-A8C8-11E1-ACFE-00219B15530E
4.
43D00F61-A8C8-11E1-ACFE-00219B15530E
5.
D5202F00-A8C7-11E1-B68A-00219B15530E
1.
诺雷夫
2012-05-28 14:23:08
2012-05-28 15:43:50
1.
这是代码输出:

serialise 123
====================
<type 'exceptions.KeyError'>
********************
(u'<?xml version="1.0" encoding="utf-8"?>\n<django-objects version="1.0">\n  <object pk="D5202F00-A8C7-11E1-B68A-00219B15530E" model="contacts.company">\n    <field type="CharField" name="name">Compan
y Name</field>\n    <field type="CharField" name="internal_name">ComName</field>\n    <field type="CharField" name="reference">NoRef</field>\n    <field to="contacts.companystatus" name="company_statu
s" rel="ManyToOneRel">9FBC97A3-2179-11E0-AEB7-005056C00008</field>\n    <field type="CharField" name="vat_number">248053</field>\n    <field type="CharField" name="registration_number">43905309</field
>\n    <field type="FloatField" name="discount">4.0</field>\n    <field type="TextField" name="notes">gfhdfghdfghdfghdfgh</field>\n    <field type="TextField" name="jms_code"><None></None></field>\n
  <field type="TextField" name="logo"><None></None></field>\n  </object>\n  <object pk="D53368E1-A8C7-11E1-AF74-00219B15530E" model="contacts.address">\n    <field to="contacts.company" name="company"
 rel="ManyToOneRel">D5202F00-A8C7-11E1-B68A-00219B15530E</field>\n    <field type="CharField" name="group_name">Company Name</field>\n    <field type="CharField" name="line1">Address 1</field>\n    <f
ield type="CharField" name="line2">Address 2</field>\n    <field type="CharField" name="line3">Address 3</field>\n    <field type="CharField" name="town">Town</field>\n    <field type="CharField" name
="county">Country</field>\n    <field type="CharField" name="postcode">BA13 3WQ</field>\n    <field type="CharField" name="country_iso">GB</field>\n    <field type="CharField" name="telephone">0122555
5555</field>\n    <field type="CharField" name="fax">01225555555</field>\n    <field type="CharField" name="email">Email@Addre.ss</field>\n    <field type="CharField" name="website">www.si.te</field>\
n    <field type="CharField" name="description">Main</field>\n    <field type="CharField" name="jms_code"><None></None></field>\n    <field type="CharField" name="notes">Notes</field>\n  </object>\n
<object pk="D53D7B00-A8C7-11E1-A34B-00219B15530E" model="contacts.contact">\n    <field to="contacts.address" name="address" rel="ManyToOneRel">D53368E1-A8C7-11E1-AF74-00219B15530E</field>\n    <field
 to="generic.title" name="title" rel="ManyToOneRel">04CD69A1-7FD4-11E0-A8A3-7071BCB8D2AB</field>\n    <field type="CharField" name="forename">Forename</field>\n    <field type="CharField" name="surnam
e">Surname</field>\n    <field type="CharField" name="position">Position</field>\n    <field type="CharField" name="mobile">07912345064</field>\n    <field type="CharField" name="direct_line">01225555
555</field>\n    <field type="CharField" name="email">Email@Addre.ss</field>\n    <field type="IntegerField" name="origin">1</field>\n    <field type="IntegerField" name="lead_source">1</field>\n    <
field type="TextField" name="notes">Notes</field>\n    <field to="contacts.contactstatus" name="contact_status" rel="ManyToOneRel">10293BF4-217A-11E0-AEB7-005056C00008</field>\n    <field to="contacts
.contactmethod" name="contact_method" rel="ManyToOneRel">C240965A-2179-11E0-AEB7-005056C00008</field>\n    <field type="CharField" name="jms_code"><None></None></field>\n  </object>\n  <object pk="89E
270EE-A8D3-11E1-AC38-00219B15530E" model="contacts.supplies">\n    <field to="contacts.supplier" name="supplier" rel="ManyToOneRel">43D00F61-A8C8-11E1-ACFE-00219B15530E</field>\n    <field to="boughti
n.boughtincontrolpanel" name="bought_in_control_panel" rel="ManyToOneRel">4</field>\n  </object>\n  <object pk="89F0539E-A8D3-11E1-A7EE-00219B15530E" model="contacts.supplies">\n    <field to="contact
s.supplier" name="supplier" rel="ManyToOneRel">43D00F61-A8C8-11E1-ACFE-00219B15530E</field>\n    <field to="boughtin.boughtincontrolpanel" name="bought_in_control_panel" rel="ManyToOneRel">5</field>\n
  </object>\n  <object pk="43D00F61-A8C8-11E1-ACFE-00219B15530E" model="contacts.supplier">\n    <field to="contacts.company" name="company" rel="ManyToOneRel">D5202F00-A8C7-11E1-B68A-00219B15530E</fi
eld>\n    <field to="contacts.customercategory" name="category" rel="ManyToOneRel"><None></None></field>\n    <field type="CharField" name="account_number">1</field>\n    <field type="CharField" name=
"reference">NoRef</field>\n    <field type="TextField" name="notes"><None></None></field>\n    <field type="DateTimeField" name="date_created">2012-05-28 14:23:08</field>\n    <field type="DateTimeFie
ld" name="date_modified">2012-05-28 15:43:50</field>\n    <field to="auth.user" name="user" rel="ManyToOneRel">1</field>\n    <field type="CharField" name="jms_code"><None></None></field>\n  </object>
\n</django-objects>',)
!!!!!!!!!!!!!!!!!!!!
u'<?xml version="1.0" encoding="utf-8"?>\n<django-objects version="1.0">\n  <object pk="D5202F00-A8C7-11E1-B68A-00219B15530E" model="contacts.company">\n    <field type="CharField" name="name">Company
 Name</field>\n    <field type="CharField" name="internal_name">ComName</field>\n    <field type="CharField" name="reference">NoRef</field>\n    <field to="contacts.companystatus" name="company_status
" rel="ManyToOneRel">9FBC97A3-2179-11E0-AEB7-005056C00008</field>\n    <field type="CharField" name="vat_number">248053</field>\n    <field type="CharField" name="registration_number">43905309</field>
\n    <field type="FloatField" name="discount">4.0</field>\n    <field type="TextField" name="notes">gfhdfghdfghdfghdfgh</field>\n    <field type="TextField" name="jms_code"><None></None></field>\n
 <field type="TextField" name="logo"><None></None></field>\n  </object>\n  <object pk="D53368E1-A8C7-11E1-AF74-00219B15530E" model="contacts.address">\n    <field to="contacts.company" name="company"
rel="ManyToOneRel">D5202F00-A8C7-11E1-B68A-00219B15530E</field>\n    <field type="CharField" name="group_name">Company Name</field>\n    <field type="CharField" name="line1">Address 1</field>\n    <fi
eld type="CharField" name="line2">Address 2</field>\n    <field type="CharField" name="line3">Address 3</field>\n    <field type="CharField" name="town">Town</field>\n    <field type="CharField" name=
"county">Country</field>\n    <field type="CharField" name="postcode">BA13 3WQ</field>\n    <field type="CharField" name="country_iso">GB</field>\n    <field type="CharField" name="telephone">01225555
555</field>\n    <field type="CharField" name="fax">01225555555</field>\n    <field type="CharField" name="email">Email@Addre.ss</field>\n    <field type="CharField" name="website">www.si.te</field>\n
    <field type="CharField" name="description">Main</field>\n    <field type="CharField" name="jms_code"><None></None></field>\n    <field type="CharField" name="notes">Notes</field>\n  </object>\n  <
object pk="D53D7B00-A8C7-11E1-A34B-00219B15530E" model="contacts.contact">\n    <field to="contacts.address" name="address" rel="ManyToOneRel">D53368E1-A8C7-11E1-AF74-00219B15530E</field>\n    <field
to="generic.title" name="title" rel="ManyToOneRel">04CD69A1-7FD4-11E0-A8A3-7071BCB8D2AB</field>\n    <field type="CharField" name="forename">Forename</field>\n    <field type="CharField" name="surname
">Surname</field>\n    <field type="CharField" name="position">Position</field>\n    <field type="CharField" name="mobile">07912345064</field>\n    <field type="CharField" name="direct_line">012255555
55</field>\n    <field type="CharField" name="email">Email@Addre.ss</field>\n    <field type="IntegerField" name="origin">1</field>\n    <field type="IntegerField" name="lead_source">1</field>\n    <f
ield type="TextField" name="notes">Notes</field>\n    <field to="contacts.contactstatus" name="contact_status" rel="ManyToOneRel">10293BF4-217A-11E0-AEB7-005056C00008</field>\n    <field to="contacts.
contactmethod" name="contact_method" rel="ManyToOneRel">C240965A-2179-11E0-AEB7-005056C00008</field>\n    <field type="CharField" name="jms_code"><None></None></field>\n  </object>\n  <object pk="89E2
70EE-A8D3-11E1-AC38-00219B15530E" model="contacts.supplies">\n    <field to="contacts.supplier" name="supplier" rel="ManyToOneRel">43D00F61-A8C8-11E1-ACFE-00219B15530E</field>\n    <field to="boughtin
.boughtincontrolpanel" name="bought_in_control_panel" rel="ManyToOneRel">4</field>\n  </object>\n  <object pk="89F0539E-A8D3-11E1-A7EE-00219B15530E" model="contacts.supplies">\n    <field to="contacts
.supplier" name="supplier" rel="ManyToOneRel">43D00F61-A8C8-11E1-ACFE-00219B15530E</field>\n    <field to="boughtin.boughtincontrolpanel" name="bought_in_control_panel" rel="ManyToOneRel">5</field>\n
 </object>\n  <object pk="43D00F61-A8C8-11E1-ACFE-00219B15530E" model="contacts.supplier">\n    <field to="contacts.company" name="company" rel="ManyToOneRel">D5202F00-A8C7-11E1-B68A-00219B15530E</fie
ld>\n    <field to="contacts.customercategory" name="category" rel="ManyToOneRel"><None></None></field>\n    <field type="CharField" name="account_number">1</field>\n    <field type="CharField" name="
reference">NoRef</field>\n    <field type="TextField" name="notes"><None></None></field>\n    <field type="DateTimeField" name="date_created">2012-05-28 14:23:08</field>\n    <field type="DateTimeFiel
d" name="date_modified">2012-05-28 15:43:50</field>\n    <field to="auth.user" name="user" rel="ManyToOneRel">1</field>\n    <field type="CharField" name="jms_code"><None></None></field>\n  </object>\
n</django-objects>'
序列化123
====================
********************
(u'\n\n\n公司
y名称\n ComName\n NoRef\n 9FBC97A3-2179-11E0-AEB7-005056C00008\n 248053\n 43905309\n 4.0\n GFHDFGH\n\n
\n\n\n D5202F00-A8C7-11E1-B68A-00219B15530E\n公司名称\n地址1\n地址2\n地址3\n城镇\n国家\n BA13 3WQ\n GB\n 0122555
5555\n 01225555555\nEmail@Addre.ss\n www.si.te\
n主\n\n注释\n\n
\n D53368E1-A8C7-11E1-AF74-00219B15530E\n 04CD69A1-7FD4-11E0-A8A3-7071BCB8D2AB\n名字\n姓氏\n位置\n 07912345064\n 01225555
555\nEmail@Addre.ss\n 1\n 1\n<
field type=“TextField”name=“notes”>notes\n 10293BF4-217A-11E0-AEB7-005056C00008\n C240965A-2179-11E0-AEB7-005056C00008\n\n\n\n 43D00F61-A8C8-11E1-ACFE-00219B15530E\n 4\n\n\n\n 43D00F61-A8C8-11E1-ACFE-00219B15530E\n
\n\n D5202F00-A8C7-11E1-B68A-00219B15530E\n\n 1\n NoRef\n\n 2012-05-28 14:23:08\n 2012-05-28 15:43:50\n 1\n\n
\n’,)
!!!!!!!!!!!!!!!!!!!!
u'\n\n\n公司
名称\n ComName\n NoRef\n 9FBC97A3-2179-11E0-AEB7-005056C00008\n 248053\n 43905309
\n 4.0\n GFHDFGHDFGHDFGH\n\n
\n\n\n D5202F00-A8C7-11E1-B68A-00219B15530E\n公司名称\n地址1\n地址2\n地址3\n城镇\n国家\n BA13 3WQ\n GB\n 01225555
555\n 01225555555\nEmail@Addre.ss\n www.si.te\n
主\n\n注释\n\n<
object pk=“D53D7B00-A8C7-11E1-A34B-00219B15530E”model=“contacts.contact”>\n D53368E1-A8C7-11E1-AF74-00219B15530E\n 04CD69A1-7FD4-11E0-A8A3-7071BCB8D2AB\n名字\n姓氏\n位置\n 07912345064\n 012255555
55\nEmail@Addre.ss\n 1\n 1\n注释\n 10293BF4-217A-11E0-AEB7-005056C00008\n C240965A-2179-11E0-AEB7-005056C00008\n\n\n\n 43D00F61-A8C8-11E1-ACFE-00219B15530E\n 4\n\n 43D00F61-A8C8-11E1-ACFE-00219B15530E\n 5\n
\n\n D5202F00-A8C7-11E1-B68A-00219B15530E\n\n 1\n NoRef\n\n 2012-05-28 14:23:08\n 2012-05-28 15:43:50\n 1\n\n\
不

您的异常处理代码实际上阻止您获取有用的调试信息。只要删除所有这些无用的异常处理,您就会得到完整的错误消息和良好的回溯

事实上,我没有得到一个好的django错误消息,以前的开发人员用他自己的输出来掩盖它,这不是有用的包装器,我输入的异常代码检索异常类型和异常,异常是实际的XML输入。假设我不能使用django内置的错误调试页面(黄色页面)