0

У меня есть класс модели NDB в Python в App Engine.Я создал ndb.model с дублированным именем свойства

Я только заметил, что определение класса моей модели повторило определение свойства.

from google.appengine.ext import ndb 

class Account(ndb.Model): 
    username = ndb.StringProperty() 
    email = ndb.StringProperty() 
    started = ndb.DateTimeProperty(auto_now=False) 
    #...  
    started = ndb.DateTimeProperty(auto_now=False) 

Исправлена ​​ошибка была там некоторое время, и никогда не вызывало проблемы при создании объектов и сохранения или чтения начал собственность.

Теперь, если я удалю одну из копий, модель не будет соответствовать тому, что хранилось в хранилище данных.

Каков правильный способ решения этой проблемы?

ответ

2

Просто удалите started, и все готово. Только одно (второе) свойство фактически сохраняется в хранилище данных, вы можете проверить это на вкладках сущностей хранилища данных.

+0

Уверены ли вы? Я пробовал это, и моя модель начала плохо себя вести - обновления свойств на старых объектах не сохранялись. Я закончил тем, что удалил старые объекты, поэтому я не мог подтвердить, что было в порядке. – intotecho

+0

Вы имеете в виду: 'начался' собственности? 'auto_now' должен быть установлен на True для обновления при каждом размещении/обновлении – glmvrml

+0

Свойство было установлено вручную. Однако, похоже, он возвращал свою старую ценность не обновленную, поэтому я задал вопрос. В противном случае поведение, которое вы описали, точно так же, как я ожидаю, что он будет работать. – intotecho