<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def from_json(self, document):
 """Create a model database object from a given Json document. Parameters document : JSON Json representation of the object Returns ModelHandle """

        # The timestamp is optional (e.g., in cases where model definitions are
        # loaded from file).
        if 'timestamp' in document:
            timestamp = datetime.datetime.strptime(
                document['timestamp'],
                '%Y-%m-%dT%H:%M:%S.%f'
            )
        else:
            timestamp = None
        # Create handle for database object
        return ModelHandle(
            document['_id'],
            document['properties'],
            [AttributeDefinition.from_json(el) for el in document['parameters']],
            ModelOutputs.from_json(document['outputs']),
            timestamp=timestamp
        )