2015-01-20 18 views
6

Tôi phải di chuyển một vài kiểu máy từ ứng dụng này sang ứng dụng khác và tôi đã làm theo hướng dẫn trên câu trả lời https://stackoverflow.com/a/26472482/188614.
Về cơ bản, tôi đã sử dụng di chuyển CreateModel được tạo bởi python manage.py makemigrations, bọc chúng bên trong state_operations và thêm tùy chọn meta 'db_table' với tên của bảng cũ.
Mọi thứ hoạt động tốt, các kiểu trên new_app đều được sử dụng đúng cách bằng các bảng cũ.
Nhưng nếu tôi chạy python manage.py makemigrations new_app nó tạo ra một di cư AlterModelTable cho mỗi bảng đổi tên chúng như None, như thế này:Django 1.7 makemigrations đổi tên bảng thành None

migrations.AlterModelTable(
    name='cidade', 
    table=None, 
), 

Đây có phải là một lỗi, hoặc hành vi mong đợi?

Trả lời

5

Tôi chỉ gặp vấn đề này.

Câu trả lời bạn được sau bao gồm này trong cuộc di cư trong new_app:

options={ 
    'db_table': 'newapp_themodel', 
}, 

tùy chọn này dict cần phản ánh các giá trị theo quy định của lớp Meta trên mô hình của bạn. Trong trường hợp của tôi, tôi đã không thiết lập db_table trong Meta, nhưng đã sao chép một cách mù quáng mã tùy chọn.

Bạn cần cập nhật các tùy chọn trong di chuyển của mình cho newapp để xóa giá trị db_table nếu bạn không đặt giá trị trong Meta hoặc để khớp với giá trị bạn đặt trong Meta.

Các vấn đề liên quan