class dbview(models.Model):
# field definitions omitted for brevity
class Meta:
db_table = 'read_only_view'
def main(request):
result = dbview.objects.all()
Caught một ngoại lệ khi render: (1054, "Unknown cột 'read_only_view id' trong 'danh sách trường'")Django: Truy vấn read-only xem không có khóa chính
Có không có khóa chính Tôi có thể thấy trong chế độ xem. Có cách giải quyết nào không?
Nhận xét:
Tôi không kiểm soát được chế độ xem tôi đang truy cập bằng Django. Trình duyệt MySQL hiển thị các cột ở đó nhưng không có khóa chính.
Cảm ơn bạn rất nhiều, điều này thực sự thực sự hữu ích! – dmi
Rất hữu ích. Một điều cần thêm; nếu cột bạn muốn sử dụng cho khóa chính là loại CHAR, cột đó không thể dài hơn 255 ký tự. –
Điều này không thực sự giải quyết các câu hỏi, trong đó liên quan đến một cái nhìn db, không phải là một bảng. Bạn có chỉ định một trong các lĩnh vực của bạn như là một pk cho django, cho dù đó là hay không. Bạn có thể thoát khỏi điều này vì sẽ không bao giờ có bất kỳ chèn/cập nhật nào về mối quan hệ qua ORM. Xem [câu trả lời từ David S] (http://stackoverflow.com/a/11594959/519015) và bình luận của tôi để biết thêm về kỹ thuật này. –