2016-03-21 6 views
0

Wie kann ich veraltete Felder in Django 1.4-Modellen am besten markieren, wenn ich sie nicht sofort löschen möchte?Wie markiert man veraltete Felder in Django 1.4?

+0

Was durch Markieren sie als veraltet erreichen haben Sie genau wollen? Wer wäre der Empfänger dieser Informationen? –

+0

Für andere Entwickler, @LudwikTrammer. Sie sollten sie nicht in einem Feature verwenden! –

+0

Haben Sie sich das System Check Framework angeschaut: https://docs.djangoproject.com/de/1.9/topics/checks/#field-model-and-manager-checks? – karthikr

Antwort

2

Entschuldigung, ich kann noch nicht kommentieren.

Wenn Sie nichts Besonderes wollen, können Sie einfach die Python-Version vergleichen und eine Warnung starten.

import django 
print django.VERSION 
>> (1, 8, 5, 'final', 0) 
if django.VERSION[1] < 4: 
    print "[DEPRECATION WARNING]" 

Oder Sie könnten den besten Ansatz tun: zu einem beliebten Paket zu gehen und sehen, wie sie es tun. Zum Beispiel in Django CMS:

cms/exceptions.py (https://github.com/divio/django-cms/blob/develop/cms/exceptions.py)

# -*- coding: utf-8 -*- 

class Deprecated(Exception): pass 

cms/utils/check.py (https://github.com/divio/django-cms/blob/develop/cms/utils/check.py)

@define_check 
def check_deprecated_settings(output): 
    with output.section("Deprecated settings") as section: 
     found = False 
     for deprecated in ['CMS_FLAT_URLS', 'CMS_MODERATOR']: 
      if hasattr(settings, deprecated): 
       section.warn("Deprecated setting %s found. This setting is no longer in use and can be removed" % deprecated) 
       found = True 
     if not found: 
      section.skip("No deprecated settings found") 
Verwandte Themen