Trong Django, trên một thiết lập được đề nghị, một cá thể UserProfile được liên kết bởi OneToOneField với cá thể Người dùng của nó.Cách hiệu quả nhất để truy xuất người dùng bằng userprofile ở Django
class UserProfile(models.Model):
user = models.OneToOneField(User)
data = ...
Cách hiệu quả nhất trong chế độ xem để truy xuất cả người dùng và tiểu sử là gì? Tôi có thể thực hiện truy vấn nối trong select_related(), để lấy cả hai đối tượng với một lần truy cập cơ sở dữ liệu không? Hay nó luôn luôn đi xuống đến hai cuộc gọi riêng biệt? Có thể, phần mềm trung gian auth của Django truy xuất cá thể người dùng ngay cả trước khi khung nhìn được gọi là ... có ai biết không?
Để cung cấp thêm thông tin chi tiết: Các hồ sơ có thể được lấy ra qua request.user.userprofile hoặc request.user.get_profile(). Tuy nhiên, cả hai kết quả trong hai lần truy cập cơ sở dữ liệu. Câu hỏi của tôi là: chúng ta có thể giảm điều này chỉ với một truy vấn nối bên trong bằng cách sử dụng select_related ... và nếu vậy: điều này có hiệu quả hơn cách "thông thường" không? –