from app import db # db == MongoEngine(app)
class Day(db.Document):
week_day = db.IntField()
# another attribute
# ...
class Month(db.Document):
name = db.StringField()
days = db.ListField(db.ReferenceField(Day))
# ...Uma maneira de atualizar a lista de dias(Day) em um objeto mês (Month) e eliminar repetidos, seria algo como:
days = get_days() # pseudo função que recupera objetos Day
month.days = list(set(month.days + days)) # gerar uma lista com os elementos antigos e novos.Mas isso pode ser evitado utilizando o recurso $AddToSet do MongoDB e disponivel no MongoEngine:
days = get_days()
Month.objects(id=foo).update(add_to_set__days=days)Obs.: id=foo é apenas para simular um filtro.