Это действительно замечательный учебник для тех, кто его хочет. Вот пример кода:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"myIdentifer]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
myViewController *destViewController = segue.destinationViewController;
destViewController.name = [object objectAtIndex:indexPath.row];
}
}
Чтение «Изменение поведения атрибута» и «События ORM» - хорошее начало при попытке решить этот тип проблемы.
Один из способов для этого нужно было установить прослушиватель событий, который обновляет метку времени:
@event.listens_for(MyModel.verified, 'set')
def mymodel_verified_set(target, value, oldvalue, initiator):
"""Set verified_at"""
if value != oldvalue:
target.verified_at = datetime.datetime.utcnow() if value else None
Я думаю, что вы ищете Гибридное свойство .
from sqlalchemy.ext.hybrid import hybrid_property
class VerifiedAsset(Base):
id = Column(Integer, primary_key=True)
verified_at = Column('verified_at', String(24))
@hybrid_property
def verification(self):
return self.verified_at;
@verification.setter
def verification(self, value):
if value and not self.verification:
self.verified_at = datetime.datetime.utcnow
if not value and self.verification:
self.verified_at = None
# Presumably you want to handle your other cases here
Вы хотите обновить свое значение verified_at
определенным образом на основе некоторых входящих новое значение. Используйте свойства, чтобы обернуть базовое значение и обновить только тогда, когда это уместно, и только то, что вы на самом деле сохраняете в db.