2015-02-12 19 views
8

Tôi đang cố gắng tạo một mô hình mới với Django, nhưng tôi tiếp tục chạy vào lỗi Lookup failed for model referenced by field help.HelpDefinition.org: account.Organization. Organization đã được nhập. Bạn có thể xem mô hình bên dưới.Django 1.7.3 - Tra cứu không thành công cho mô hình được tham chiếu bởi trường

models.py

org = models.ForeignKey(Organization, unique=True) 
help_type = models.CharField(max_length=255, choices=HELP_CHOICES) 
help_content = models.TextField(blank=True) 

Mô hình này đã được di cư thành công trước đó. Tôi đã bỏ bảng qua psql trong Postgres để nó có thể được tạo lại.

Trả lời

17

Điều đó xảy ra khi bạn thay đổi các đối tượng đích trong mối quan hệ. Ngay cả khi chúng có cùng tên và các trường, chúng không phải là cùng một đối tượng. Tôi đã có cùng một vấn đề và xóa tất cả các di chuyển trước đó từ thư mục migrations đã giải quyết nó.

+1

Điều này nghe có vẻ kỳ lạ, nhưng thực ra là cách để làm điều đó. Sửa đổi để mô hình tên có vẻ như một cái gì đó Django di cư không hỗ trợ được nêu ra (hoặc không hỗ trợ chưa trong phiên bản 1.7.3). –

+0

Nếu bạn cần phải sửa đổi tên của một mô hình, bạn có thể tạo một di chuyển trống và sử dụng ['RenameModel'] (https://docs.djangoproject.com/en/1.8/ref/migration-operations/#renamemodel) lớp . – warownia1

2

Bạn cũng có thể thêm dưới dạng phụ thuộc vào di chuyển di chuyển cuối cùng từ ứng dụng của đối tượng. Điều đó đã đánh lừa tôi.

class Migration(migrations.Migration): 

dependencies = [ 
    (<app>, <last_migration_filename>), 
... 
+0

Tôi cũng đã giải quyết lỗi "Tra cứu không thành công cho mô hình được tham chiếu bởi trường ..." bằng cách thêm một di chuyển ứng dụng khác vào các phụ thuộc. – baxeico

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