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
A
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")
Was durch Markieren sie als veraltet erreichen haben Sie genau wollen? Wer wäre der Empfänger dieser Informationen? –
Für andere Entwickler, @LudwikTrammer. Sie sollten sie nicht in einem Feature verwenden! –
Haben Sie sich das System Check Framework angeschaut: https://docs.djangoproject.com/de/1.9/topics/checks/#field-model-and-manager-checks? – karthikr