A: 
  1. All fields in the superclass also exist on the subclass, so having an explicit relation is unnecessary.
  2. Model inheritance in Django is terrible. Don't use it. Python doesn't need it anyway.
Ignacio Vazquez-Abrams
A: 

First, inheriting from a model creates an automatic OneToOneField in the inherited model towards the parents so you don't need to add them. Remove them if you really want to use this form of model inheritance.

If you only want to share the member of the model, you can use Meta inheritance which will create the inherited columns in the table of your inherited model. This way would separate your JournalEntry in 2 tables though but it would be easy to retrieve only the invoices.

Eric Fortin