Я пытаюсь понять отношения 1-ко-многим в хранилище данных; но я не понимаю, как запрашивать и обновлять записи пользователя, когда модель включает ReferenceProperty
. Скажите, у меня есть эта модель:
class User(db.Model):
userEmail = db.StringProperty()
userScore = db.IntegerProperty(default=0)
class Comment(db.Model):
user = db.ReferenceProperty(User, collection_name="comments")
comment = db.StringProperty()
class Venue(db.Model):
user = db.ReferenceProperty(User, collection_name="venues")
venue = db.StringProperty()
Если я правильно понимаю, один и тот же пользователь, уникально идентифицируемый userEmail
, может иметь много комментариев и может быть связан со многими объектами (ресторанами и т.
Теперь предположим, что пользователь az@example.com
уже находится в базе данных и отправляет новую запись.
На основании этого ответа Я делаю что-то вроде:
q = User.all()
q.filter("userEmail =", az@example.com)
results = q.fetch(1)
newEntry = results[0]
Но мне не ясно, что это делает! Я хочу обновить поля comment
и venue
, которые находятся под class Comment
и class Venue
.
Можете ли вы помочь мне понять, как это работает? Спасибо.