Model1 có ForeignKey to Model2. Và Model2 có một ForeignKey (Model3, null = True, blank = True) thành Model3. Theo mặc định, khi tôi sử dụng select_related() trên Model1, Model3 không được chọn vì null = True. Làm thế nào tôi có thể buộc select_related() để theo một ngoại lệ đã có null = True?Làm thế nào để buộc select_related() để chọn ForeignKeys có null = True thuộc tính?
Cách duy nhất tôi có thể nghĩ đến là chọn một cách rõ ràng các phím nước ngoài:
model1s = Model1.objects.all().select_related('model2', 'model2__model3')
Đây có phải là con đường duy nhất?
Tôi có nhiều trường ForeignKey được đặt thành null = True. Tôi không muốn liệt kê tất cả. Nhưng tôi đoán là tôi phải làm vậy. –
Bạn lại đúng. Nó có vẻ như rất nhiều cách gõ nhưng điều này là về mặt kỹ thuật một chút của một trường hợp sử dụng góc. Tuy nhiên, tốt hơn là không thể chọn liên kết. Vui lòng thêm câu trả lời của riêng bạn nếu bạn nghĩ ra điều gì đó khác biệt. – istruble
Đã dành tuổi tìm kiếm nội dung này .. cảm ơn câu hỏi và câu trả lời! – John