2012-03-02 17 views
6

Tôi viết một di chuyển về phía nam django mà phụ thuộc vào mô hình trong ứng dụng khác, vì vậy tôi đã bao gồm --freeze OTHERAPPNAME khi tôi chạy python manage.py datamigration …Django-South DataMigration - Ứng dụng có sẵn trong chuyển tiếp() nhưng không ngược()?

Tuy nhiên trong forwards() chức năng tôi có thể truy cập vào các mô hình tốt khác (với orm['otherappname.MyModelName']), tuy nhiên trong các backwards() bước (mà cũng phụ thuộc vào mô hình trong otherappname), nếu tôi cố gắng truy cập vào orm['otherappname.MyModelName'], tôi nhận được một lỗi

*** KeyError: "The model 'mymodelname' from the app 'otherappname' is not available in this migration." 

tôi có thể xem chi tiết mô hình đông lạnh ở phía dưới cùng của tập tin. Tại sao tôi không thể truy cập?

NB: Mô hình này được tạo trong một lần di chuyển khác bên trong tên ứng dụng khác mà dữ liệu này phụ thuộc vào.

Trả lời

10

Quá trình di chuyển ngược thực sự sử dụng ORM đã bị đóng băng của việc di chuyển trước đó trước đó. Đó là hợp lý khi bạn nghĩ về nó, nhưng nó được thừa nhận là không trực quan.

Đạo đức: đóng băng các mô hình bạn sẽ cần trong dữ liệu của bạn trong sơ đồ tiến hành nó.