Zer*_*ero 0 python error-handling mongodb mongoengine
我有一堂课:
\nclass POI(Document):\n location = PointField(required=True)\n name = StringField(default='')\n generate_by = IntField(required=True)\n status = StringField(default='Active')\n colle\xd1\x81ted_by = IntField()\n time_created = DateTimeField(default=datetime.datetime.now)\nRun Code Online (Sandbox Code Playgroud)\n当我尝试插入时
\nPOI(location=[55.430212, 30.521000], generate_by=1241254, name="Sample", collected_by=None)\nRun Code Online (Sandbox Code Playgroud)\n发生错误
\nmongoengine.errors.FieldDoesNotExist: The fields "{'collected_by'}" do not exist on the document "POI"\nRun Code Online (Sandbox Code Playgroud)\n怎么了?
\n实际上,两个“collected_by”字符串中有一个微小的拼写错误,这使得它们不同,出于某种原因,您在这里使用的“c”:
\nclass POI(Document):\n location = PointField(required=True)\n name = StringField(default=\'\')\n generate_by = IntField(required=True)\n status = StringField(default=\'Active\')\n colle\xd1\x81ted_by = IntField()\n ^\n |\nRun Code Online (Sandbox Code Playgroud)\n不是常规的拉丁语“c”,而是一个看起来与拉丁语“c”完全相同的西里尔字符。
\n实际上:
\n见下文:
\nIn [16]: "collected_by" == "colle\xd1\x81ted_by"\nOut[16]: False\n\nIn [17]: "\xd1\x81" == "c"\nOut[17]: False\n\nIn [20]: ord("\xd1\x81"), ord("c")\nOut[20]: (1089, 99)\nRun Code Online (Sandbox Code Playgroud)\n如果你让它们相同,代码就会像魅力一样工作
\n| 归档时间: |
|
| 查看次数: |
1198 次 |
| 最近记录: |