Y el método en su entrada no funciona porque ...?
Si por alguna razón usted realmente necesita para jugar con la clase FlatPage orden interna y editar de forma dinámica, se puede conectar a la señal class_prepared:
http://docs.djangoproject.com/en/dev/ref/signals/#class-prepared
Editar
Aquí cómo lo harías con una clase_preparado:
from django.db.models.signals import class_prepared
from django.db import models
def alter_flatpages(sender, **kwargs):
if sender.__module__ == 'django.contrib.flatpages.models' and sender.__name__ == 'FlatPage':
order = models.IntegerField()
order.contribute_to_class(sender, 'order')
class_prepared.connect(alter_flatpages)
Ponga esto en, por ejemplo, 'signals.py' en el mismo directorio que su settings.py, y agregue 'señales' al top (esto es importante, para asegurarse de que el manejador de señales se instale a tiempo) de la lista INSTALLED_APPS.
Sin embargo, esto todavía no mostrará el campo mostrado en Admin, porque hay una clase ModelAdmin personalizada para FlatPages que enumera explícitamente los campos. Por lo tanto, después de que se registre en la aplicación de páginas planas, deberá anular el registro en alguna parte (admin.site.unregister) y registrar un ModelAdmin propio.
¡Muchas gracias! Supongo que esto es lo que estaba buscando. –
Tenga en cuenta que este enfoque no funcionará con el FlatpageFallbackMiddleware predeterminado: devolverá instancias del modelo original de Flatpage, no su extensión. Por lo tanto, tendrá que escribir su propia versión o usar su propia URL/vista. Además, ahora tiene dos tablas donde realmente solo se necesita una, lo que da como resultado consultas menos eficientes.En general, recomendaría escribir su propia aplicación de página plana desde cero, o usar el enfoque class_prepared para hacer un parche en el campo, en lugar de usar la herencia. –