2016-03-23 15 views
3

Ich habe eine Django-App, die vor einiger Zeit aus dem Projekt, für das sie ursprünglich gebaut wurde, in eine separate Standalone-App umgewandelt wurde, und setzte PyPI (https://pypi.python.org/pypi/mysociety-django-images) ein. Die App wurde in der Erwartung entwickelt, mit Django 1.7+ betrieben zu werden.Wie kann eine neue Migration in einer eigenständigen Django-App am besten durchgeführt werden?

Ich möchte jetzt eine Änderung an einem der Modelle dort vornehmen - nur einen max_length auf einem Feld ändern. Ich kann nichts in der Dokumentation sehen, wie man eine neue Migration dafür macht? Muss ich ein Beispielprojekt machen und das verwenden, oder gibt es einen besseren Weg?

Antwort

1

Sie können dies tun, wie ein Skript, indem sie:

#!/path/to/your python 

import sys 
import django 

from django.conf import settings 
from django.core.management import call_command 

settings.configure(
    DEBUG=True, 
    INSTALLED_APPS=(
     'django.contrib.contenttypes', 
     'yourAppName', 
    ), 
) 

django.setup() 
call_command('makemigrations', 'yourAppName') 

(auch dies ist, wie wir unsere Standalone-Anwendungen gehen über das Testen).

Ich weiß nicht, welche ist die bessere Praxis zwischen diesem und erstellen Sie ein Beispielprojekt (dies scheint leichter zu tun).

+2

Das Problem ist, dass er _manage.py_ nicht hat, da es eine eigenständige App ist. – RemcoGerlich

+0

Ich habe die Antwort bearbeitet, um das Bit beizubehalten, das für eine eigenständige App nützlich ist. –

+0

Funktioniert es? – 1ronmat