【发布时间】:2016-06-10 20:46:17
【问题描述】:
class Post(models.Model):
created_time = models.DateTimeField()
comment_count = models.IntegerField(default=0)
like_count = models.IntegerField(default=0)
group = models.ForeignKey(Group)
class MonthPost(models.Model):
created_time = models.DateTimeField()
comment_count = models.IntegerField(default=0)
like_count = models.IntegerField(default=0)
group = models.ForeignKey(Group)
post = models.OneToOneField(Post)
我使用这两个模型。 MonthPost 是 Post 的一部分。 当过滤日期小于月份时,我想使用 MonthPost。
_models = Model.extra(
select={'score': 'like_count + comment_count'},
order_by=('-score',)
)
我额外使用了以上两个模型。 Post 效果很好,但 MonthPost 不行。
django.db.utils.ProgrammingError: column reference "like_count" is ambiguous
LINE 1: ... ("archive_post"."is_show" = false)) ORDER BY (like_count...
这是错误信息。
_models.values_list("post", flat=True)
然后,我想从 MonthPost 中提取 OneToOne 字段(帖子)。 我尝试使用 values_list("post", flat=True)。它只返回 id 列表。 我需要发布 django rest 框架的对象列表。
【问题讨论】:
标签: python django django-queryset django-orm