2009-05-20 5 views

Trả lời

53

Mỗi django-admin.py (manage.py) lệnh, như đã thấy trong documentation, bạn có thể gọi từ mã của bạn với:

from django.core.management import call_command 

call_command('loaddata', 'myapp') 

đâu param đầu tiên là tên lệnh, tất cả các params vị trí khác cũng giống như dòng lệnh thông số vị trí và tất cả các thông số từ khóa là các tùy chọn.

+2

bạn cũng có thể thêm tùy chọn "verbosity = 0" cho đầu ra bảng điều khiển tăng tốc: call_command ('loaddata', 'fixture_name.json', verbosity = 0) –

+0

Documents tại đây: https://docs.djangoproject.com/en/ 1.8/ref/django-admin/# running-management-commands-from-your-code – Renato

+0

Hãy lưu ý rằng ** không phù hợp để sử dụng lệnh 'loaddata' trực tiếp trong quá trình di chuyển dữ liệu **, vì nó tải nội bộ nhiều nhất định nghĩa mô hình cập nhật và sử dụng chúng để deserialize dữ liệu lịch sử trong một trận đấu. Đó là hành vi không chính xác. Giải pháp ở đây: http://stackoverflow.com/a/39743581/2293304 – Rockallite