Tôi có làm việc lệnh tùy chỉnh django-admin mà tôi sử dụng để điền cơ sở dữ liệu của mình với thông tin mới. Một lần nữa, tất cả mọi thứ hoạt động.Hai đối số trong lệnh tùy chỉnh django-admin
Tuy nhiên, bây giờ tôi đã thay đổi mô hình và chức năng của mình một chút để chấp nhận hai đối số dưới dạng bộ túp - tên đầu tiên và họ, thay vì chỉ "tên".
Mã trước bên dưới - đang hoạt động. Chạy sử dụng "manage.py xyz name1 name2 name3 ... vv (khoảng trống giữa args khác nhau)
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)
Có thể vượt qua trên hai đối số từ lệnh tùy chỉnh django-admin nơi đối số thứ hai là tùy chọn -> tức là (đầu tiên, cuối cùng = Không có)?
Mã giả dưới đây của những gì tôi muốn chạy bằng ... "manage.py xyz (first1, last1) (first2, last2) < - hoặc một số biến thể của số này
Tôi đã thay đổi hàm DEF để chấp nhận điều này một cách thích hợp như một hàm độc lập. Tôi chỉ không chắc chắn làm thế nào tôi có thể nhận được lệnh django-admin làm việc ngay bây giờ.
CẢM ƠN! Điều đó làm việc tốt. Tôi đã ban đầu hy vọng có hai arg riêng biệt, nhưng điều này làm việc giống nhau. – snakesNbronies
@modocache -v = 3? nó sẽ làm gì? – GThamizh
Câu trả lời này đã lỗi thời, django hiện có phương thức 'add_arguments' được tích hợp sẵn, được thêm vào v1.8. Xem: https://docs.djangoproject.com/en/2.0/howto/custom-management-commands/ – neuronet