Ich habe eine arbeiten django-admin benutzerdefinierten Befehl, den ich verwenden, um meine Datenbank mit neuen Informationen zu füllen. Auch hier funktioniert alles.Zwei Argumente in django-admin benutzerdefinierten Befehl
Allerdings habe ich jetzt meine Modelle geändert und funktionieren etwas, um zwei Argumente als Tupel zu akzeptieren - Vorname und Nachname, anstatt nur "Name".
Vorheriger Code unten - funktioniert. Führen Sie mit „manage.py xyz name1 name2 name3 ... usw. (Raum zwischen den verschiedenen args)
from django.core.management.base import BaseCommand, CommandError
from detail.models import ABC
from detail.parser import DEF
class Command(BaseCommand):
args = '<name...>'
help = 'Populates the ABC class database'
def handle(self, *args, **options):
for symbol in args:
try:
info = DEF(name)
Ist es möglich, auf zwei Argumente aus dem django-admin benutzerdefinierten Befehl zu übergeben, wo das zweite Argument optional -> ie (first, last = None)?
Pseudocode unterhalb von dem, was ich gerne mit ... "manage.py xyz (first1, last1) (first2, last2) < - oder eine Variante davon
Ich habe bereits die Funktion DEF geändert, um dies als eigenständige Funktion zu akzeptieren. Ich bin mir nur nicht sicher, wie ich den django-admin-Befehl jetzt zum Laufen bringen kann.
DANKE! Das hat gut funktioniert. Ich hatte ursprünglich gehofft, zwei getrennte Argumente zu haben, aber das funktioniert genauso. – snakesNbronies
@modocache -v = 3? was wird es tun? – GThamizh
Diese Antwort ist veraltet, django verfügt jetzt über eine 'add_arguments'-Methode, die in Version 1.8 hinzugefügt wurde. Siehe: https://docs.djangoproject.com/de/2.0/howto/custom-management-commands/ – neuronet