# Issue
model 中自定義主鍵,是為某個(gè) field 添加 primary_key 屬性,mongoengine 會(huì)把該字段作為 _id 存儲(chǔ)。此時(shí)通過(guò) obj.field 或 obj.id 都可獲取到該字段,但是實(shí)際查詢(xún)的時(shí)候使用 obj.id 方法會(huì)出錯(cuò),例如:
MyObject.objects.get(id=1)
# Solution
根據(jù)官方文檔,設(shè)置屬性 primary_key=True 后,可用 pk 來(lái)獲取該字段,實(shí)際上 primary 也是可用的,所以
MyObject.objects.get(pk=1)
MyObject.objects.get(primary=1)
這兩種查詢(xún)都是可行的