Esto es una continuación de este question. ¿Cómo se muestran las propiedades definidas en un modelo hijo en línea en el elemento primario? Para ilustrar esto, tengo este modelo:Django Admin: ¿cómo mostrar las propiedades definidas en el modelo en línea?
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True, primary_key=True, related_name='profile')
...
@property
def age(self):
if self.birthday is None:
return None
td = datetime.date.today() - self.birthday
return td.days/365
La pregunta es: ¿Cómo puedo mostrar la 'edad' en una línea de usuario? Esto es lo que tengo:
class UserProfileInline(admin.StackedInline):
model = UserProfile
fk_name = 'user'
max_num = 1
fieldsets = [
('Demographics', {'fields': ['birthday', 'age']}),
]
He intentado algunas cosas como esta, entre ellos 'edad()', que define un captador 'get_age' para la línea, etc. Son el resultado de alguna versión de este error :
ImproperlyConfigured: 'UserProfileInline.fieldsets[1][1]['fields']' refers to field 'age' that is missing from the form.
Cuando agrego readonly_fields = ['age',] a la clase UserProfileInline como se muestra arriba, no obtengo un error pero no muestra nada en admin. ¿Me estoy perdiendo de algo? Estoy en Django 1.2, pero sigo aprendiendo el camino, gracias por tu ayuda. – Joe
Eso es extraño, debería funcionar. ¿Estás seguro de que el servidor se ha reiniciado? –
Lo he usado con éxito en Django 1.6. – dustinfarris