我有自定義的用戶模型和兩種型號,都與ForeinKey兩個用戶同時:如何做複雜的加入在Django
class Feature1(models.Model):
user1 = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='u1')
user2 = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='u2')
some field....
percentage = models.FloatField()
class Feature2(models.Model):
user1 = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='us1')
user2 = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='us2')
some fields...
property = models.PositiveIntegerField()
,然後我檢索與查詢集爲特定用戶的所有對
queryset = Feature1.objects.filter(u1=self.request.user).all().order_by('-percentage')
,但我需要的,有從特點2模型這個查詢集數據量太大(對於每一個特定的對用戶,如果存在的話) 並從特徵2
是由「財產」能夠爲了查詢集如何做到這一點?我研究過django文檔,但沒有結果。
你看着使用'select_related()'? –
可能就是這樣,但我不知道如何正確使用它。我的情況並不像django例子那麼簡單。 –
您是否渴望'Feature2'中的所有字段,其中'Feature2'中的user1'等於'Feature1'中的'user1','Feature2'中的user2'等於'Feature1'中的'user2'? –