Django-fullhistory is een Django app die volledige geschiedenis voorziet Django.
Om te installeren:
sudo setup.py installeren
* Add fullhistory middleware
MIDDLEWARE_CLASSES = (
& Nbsp; & nbsp; & nbsp; 'Django.middleware.common.CommonMiddleware'
& Nbsp; & nbsp; & nbsp; 'Django.contrib.sessions.middleware.SessionMiddleware'
& Nbsp; & nbsp; & nbsp; 'Django.contrib.auth.middleware.AuthenticationMiddleware'
& Nbsp; & nbsp; & nbsp; 'Django.middleware.doc.XViewMiddleware'
& Nbsp; & nbsp; & nbsp; 'Django.contrib.flatpages.middleware.FlatpageFallbackMiddleware'
& Nbsp; & nbsp; & nbsp; 'Fullhistory.fullhistory.FullHistoryMiddleware'
)
* Toevoegen fullhistory aan geïnstalleerde apps:
INSTALLED_APPS = (
& Nbsp; & nbsp; & nbsp; 'Fullhistory'
)
* In uw models.py Selecteer de modellen die u wilt fullhistory hebben:
van fullhistory import register_model
register_model (SKU)
register_model (Orde)
register_model (OrderItem)
Toelichting
& Nbsp; * Records voor modellen die niet-abstracte inheritence gebruik worden apart opgeslagen per tafel. Dit heeft te maken met de huidige implementatie van de rangschikking in Django. Ook ouder tafels zijn in staat om onafhankelijk aangepast hun geërfd kinderen.
& Nbsp; * Fullhistory voor niet-abstract model inheritence is iets minder performant als het volgt de ouderlijke veld.
& Nbsp; * QuerySet methoden verwijderen () en update () hoeft signalen niet leiden en zijn dus buiten fullhistory
& Nbsp; * FullHistory Admin functionaliteit is beperkt in Django 1.0
Eisen
- Python
- Django
Beperkingen
- Veel te veel velden niet automatisch veranderingen op te nemen. Aanpassingen zijn gemaakt in de admin-model om dit te compenseren. Echter, kunnen wijzigingen gedaan buiten de admin niet zijn gecorrigeerd een vertraagde opname vertonen. (Django Ticket # 5390)
- Bestanden worden niet behouden, maar hun pad.
- (Django 1.0) De FullHistory veld werkt niet zoals verwacht met niet-abstract model inheritence, primarly voor objecten hebben de andere geërfd is FullHistory veld (Django Ticket # 9546)
- FullHistory kapt microseconden voor DateTimeFields
- DateTimeFields worden gedeserialiseerd als strings
- Model proxies is inefficiënt, waarschijnlijk dubbele geschiedenis items maken. Zal worden vastgesteld.
Reacties niet gevonden