Queryset APIdistinct()不起作用?


问题内容
class Message(models.Model):
    subject = models.CharField(max_length=100)
    pub_date = models.DateTimeField(default=datetime.now())

class Topic(models.Model):
    title = models.CharField(max_length=100)
    message = models.ManyToManyField(Message, verbose_name='Discussion')

我想根据附加到该主题的最新消息对象来订购所有主题。我执行了此查询,但这没有给出不同的查询集。

>> Topic.objects.order_by('-message__pub_date').distinct()

问题答案:

您可以在的文档中.distinct()找到相关说明。

我会通过modified_dateTopic模型中添加字段并在保存或删除消息时进行更新来进行反规范化。