我浪费了大量的时间来编写这样的查询。在这里我的模型:Django查询api:复杂子查询
class User(Dealer):
pass
class Post(models.Model):
text = models.CharField(max_length=500, default='')
date = models.DateTimeField(default=timezone.now)
interactions = models.ManyToManyField(User, through='UserPostInteraction', related_name='post_interaction')
class UserPostInteraction(models.Model):
post = models.ForeignKey(Post, related_name='pppost')
user = models.ForeignKey(User, related_name='uuuuser')
status = models.SmallIntegerField()
DISCARD = -1
VIEWED = 0
LIKED = 1
DISLIKED = 2
什么,我需要:
查询是:(UserPostInteractions where status = LIKED) - (UserPostInteractions where status = DISLIKED) of Post(OuterRef('pk'))
查询:Select all posts order by value of subquery
。
我被困在错误Subquery returned multiple rows
ELP !!))
您的目标并不那么清晰,试图澄清您的需求。 也 - 你的实际尝试产生的错误将有助于更好地理解你。 –