Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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
AttributeError:_auto_id_field Django与MongoDB和MongoEngine_Django_Mongodb_Mongoengine - Fatal编程技术网

AttributeError:_auto_id_field Django与MongoDB和MongoEngine

AttributeError:_auto_id_field Django与MongoDB和MongoEngine,django,mongodb,mongoengine,Django,Mongodb,Mongoengine,我正在使用mongoengine和Django 下面是我的模型课 class MyLocation(嵌入式文档): my_id=IntField(必需=True) lat=地质点字段(必需=假) 更新的\u date\u time=DateTimeField(默认值=datetime.datetime.utcnow) 我的观点 def store_my_location(): loc=MyLocation(1,[30.8993487,-74.0145665]) loc.save() 调用上述方法

我正在使用mongoengine和Django 下面是我的模型课

class MyLocation(嵌入式文档):
my_id=IntField(必需=True)
lat=地质点字段(必需=假)
更新的\u date\u time=DateTimeField(默认值=datetime.datetime.utcnow)

我的观点

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

调用上述方法时,我得到错误AttributeError:\u auto\u id\u field


请建议解决方案

我建议在保存位置时使用名称。因为类定义不包括如何放入这些键,所以我们需要使用名称来定义它们

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])



我建议在保存位置时使用这些名称。因为类定义不包括如何放入这些键,所以我们需要使用名称来定义它们

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])