【发布时间】:2017-10-08 13:17:50
【问题描述】:
我浪费了很多时间来编写这样的查询。这是我的模型:
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
埃尔普!!))
【问题讨论】:
-
你的目标不是很清楚,试着澄清你的需求。另外 - 您产生错误的实际尝试将有助于更好地了解您。