ForeignKeyField('self',…) not correctly inheriting?
Interesting... Out of curiosity I tested this on Django, and found it behaves the same as Peewee in this case.

You should be able to re-define the foreign key on the child table and I'm going to suggest that should be the proper resolution to this issue. Doing some kind of late-late-binding of the foreign key model doesn't really work because it's not clear at what point that binding should be done.
When inheriting from a Model using `ForeignKeyField('self',…)`, the resulting table
references the (possibly inexistent) table of the Model originally defining the key.

I'm not sure whether this is intended behavior but intuitively, I expected the inherited models to also reference themselves, rather than some class further up.

I wrote a bit of code to illustrate what I'm trying to do and where it fails.

Since I haven't seen any good way to attach files to issues, I'm just pasting it verbatim:
```
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import peewee

db = peewee.SqliteDatabase('test.db')

class Forestable(peewee.Model):

    class Meta:
        database = db

    name = peewee.CharField(unique=True)
    parent = peewee.ForeignKeyField('self', null=True)


class SubForestable(Forestable):

    pass

if __name__ == '__main__':

    SubForestable.create_table()

    x = SubForestable()
    x.name = 'foo'
    x.save()

    y = SubForestable()
    y.name = 'bar'
    y.parent = x
    y.save()

    # works fine
    print "X:"
    print x
    print x.name
    print x.parent
    print "--"

    print "Y:"
    print y
    print y.name
    print y.parent
    print "--"

    # works fine up to…
    q = SubForestable.select()
    for z in q:
        print z
        print z.name
        print z.parent # here, where it tries accessing table 'forestable'
```
I tested this with 2.10.1 from pip and the 3.0a branch from git.