

def __init__(self, rel_model, related_name=None, on_delete=None, on_update=None, extra=None, to_field=None, *args, **kwargs):
    if ((rel_model != 'self') and (not isinstance(rel_model, (Proxy, DeferredRelation))) and (not issubclass(rel_model, Model))):
        raise TypeError('Unexpected value for `rel_model`.  Expected `Model`, `Proxy`, `DeferredRelation`, or "self"')
    self.rel_model = rel_model
    self._related_name = related_name
    self.deferred = isinstance(rel_model, (Proxy, DeferredRelation))
    self.on_delete = on_delete
    self.on_update = on_update
    self.extra = extra
    self.to_field = to_field
    super(ForeignKeyField, self).__init__(*args, **kwargs)

dataset/ETHPy150Open coleifer/peewee/peewee.py ForeignKeyField.__init__/original