2010-04-09 37 views
6

/mysite/project4Django syncdb lỗi: Một hoặc nhiều mô hình không xác nhận

class notes(models.Model): 
    created_by = models.ForeignKey(User) 
    detail = models.ForeignKey(Details) 

Các chi tiết và tài khoản đang trong cùng một mô-đun tức,/mysite/project1 Trong mô hình project1 tôi đã xác định

class User(): 
     ...... 

    class Details(): 
     ...... 

Khi DB i đồng bộ hóa có một lỗi nói

Error: One or more models did not validate: project4: Accessor for field 'detail' clashes with related field . Add a related_name argument to the definition for 'detail'.

Làm thế nào điều này có thể được giải quyết ..

nhờ ..

+0

Nếu nó hữu ích đối với bất kỳ ai, tôi cũng gặp lỗi này vì tôi đang sử dụng lib, taggit của bên thứ ba mà tôi đã tham chiếu nhưng không được đưa vào danh mục ứng dụng đã cài đặt của mình. – RussellStewart

Trả lời

8

Gee chúng tôi chỉ có này một; và tôi đã trả lời ...

Bạn có một số khóa ngoại mà django không thể tạo tên duy nhất cho.

Bạn có thể trợ giúp bằng cách thêm đối số "related_name" vào định nghĩa trường ngoại tuyến trong mô hình của mình. Ví dụ:

class notes(models.Model): 
    created_by = models.ForeignKey(User, related_name="note_created_by_user") 
    detail = models.ForeignKey(Details, related_name="noted_and_detailed") 

Xem tại đây để biết thêm. http://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ForeignKey.related_name

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