from django.db import models

def register(cls, admin_cls):
    cls.add_to_class('_prepared_date', models.TextField('Date of Preparation', blank=True, null=True))

    def getter():
        if not cls._prepared_date:
            try:
                return cls.get_ancestors(ascending=True).filter(_prepared_date__isnull=False)[0]._prepared_date
            except IndexError:
                return None
        return cls._prepared_date

    def setter(value):
        cls._prepared_date = value

    cls.prepared_date = property(getter, setter)

    if admin_cls and admin_cls.fieldsets:
        admin_cls.fieldsets[2][1]['fields'].append('_prepared_date')


@@ -172,16 +172,19 @@
  getter(
+obj
 ):%0A     
@@ -193,19 +193,19 @@
  if not 
-cls
+obj
 ._prepar
@@ -253,19 +253,19 @@
  return 
-cls
+obj
 .get_anc
@@ -416,19 +416,19 @@
  return 
-cls
+obj
 ._prepar
@@ -451,16 +451,21 @@
  setter(
+obj, 
 value):%0A
@@ -472,19 +472,19 @@
         
-cls
+obj
 ._prepar

Use the object instead of the class