AttributeError: _auto_id_field Django с MongoDB и MongoEngine - PullRequest
0 голосов
/ 05 мая 2020

Я использую mongoengine с Django Ниже мой класс модели

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

My Views.py

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

Когда я вызываю вышеуказанный метод, я получаю ошибку AttributeError: _auto_id_field

Пожалуйста, предложите решение

1 Ответ

2 голосов
/ 06 мая 2020

Я предлагаю использовать имена при сохранении местоположения. Поскольку определение класса не включает в себя то, как вы вводите эти ключи, поэтому нам нужно использовать имя для их определения.

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


...