Hi Aron, I think this feature does not belong in Django; hiding concrete parent fields sounds like a bad idea which is likely to open a whole can of worms and violated assumptions.
Since the motivation for the unusual parent-and-child-fields comes from non- Django uses of the database, I suspect the solution should be there as well -- that is, in database artifacts which are not reflected as Django fields. These could be database columns and triggers, or. If other users only read, it could be done by presenting them with views rather than the underlying tables (in fact, this could also be done if they write -- if I recall correctly, PG views support "instead of insert/update" triggers). Such columns, triggers and/or views can be created either outside of Django or via RunSQL migration operations. HTH, Shai.