首页 > 解决方案 > AttributeError: _auto_id_field Django 与 MongoDB 和 MongoEngine

问题描述

我在 Django 中使用 mongoengine 下面是我的模型类

class MyLocation(EmbeddedDocument): my_id = IntField(required=True) lat = GeoPointField(required=False) updated_date_time = DateTimeField(default=datetime.datetime.utcnow)

我的观点.py

def store_my_location(): loc = MyLocation(1, [30.8993487, -74.0145665]) loc.save()

当我调用上述方法时,我收到错误AttributeError: _auto_id_field

请提出解决方案

标签: djangomongodbmongoengine

解决方案


我建议在保存位置时使用名称。由于类定义不包括您如何放入这些键,这就是我们需要使用名称来定义它们的原因。

def store_my_location():
    loc = MyLocation(my_id=1, lat=[30.8993487, -74.0145665])
    loc.save()

这应该有效。

MyLocation另一种方法是在课堂上写所有东西。

class MyLocation(EmbeddedDocument):
    my_id = IntField(required=True)
    lat = GeoPointField(required=False)
    updated_date_time = DateTimeField(default=datetime.datetime.utcnow)

    def create(my_id,lat):
      location=MyLocation(my_id=my_id,lat=lat)
      location.save()
      return location

def store_my_location():
    loc = MyLocation.create(1,[30.8993487, -74.0145665])



推荐阅读