簡體   English   中英

通過ManyToMany關系進行Django查詢

[英]Django query with ManyToMany relationship through

我正在實現類似Linkedin的連接功能。 我的模特是

class AFSUser(models.Model):
    connects = models.ManyToManyField("self", through='UserConnect', symmetrical=False)

class UserConnect(models.Model):
    date_followed = models.DateTimeField(auto_now_add=True)
    date_approved = models.DateTimeField(null=True, blank=True)
    date_rejected = models.DateTimeField(null=True, blank=True)
    requester = models.ForeignKey(AFSUser, on_delete=models.CASCADE, related_name='request_user')
    acceptor = models.ForeignKey(AFSUser, on_delete=models.CASCADE, related_name='accept_user')

我想列出用戶的連接。 我試過了

approved_connections = UserConnect.objects.filter(Q(requester=afsUser) | Q(acceptor=afsUser),                                                  date_aprroved__isnull=False,
                                                                  date_rejected__isnull=False)

然后從那里獲取列表。 任何其他方式我可以做

users = userA.connects.filter(...)

是的,您可以through

userA.connects.through.objects.filter(Q(requester= userA)|Q(acceptor=userA))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM