0

私は2つのdjangoモデルを持っています:

class Message(models.Model):
    msg = models.CharField(max_length=200)
    date = models.DateTimeField(auto_now_add=True)

class Thread(models.Model):
    messages = models.ManyToManyField(Message)

SQLに相当するDjango ORMを介して1つのクエリを作成することは可能ですか:

SELECT   Message.msg, Message.date
FROM     Message, Thread
WHERE    Message.id IN Thread.messages
AND      Thread.id IN (1,2,3)
ORDER BY Message.date
LIMIT    10
4

1 に答える 1

1
messages = Message.objects.filter(thread__id__in=[1,2,3]).order_by('date')[:10]

inおよびorder_byqueryset メソッドを使用し、リレーションシップを逆方向にクエリしスライスして結果を制限する

于 2013-11-07T13:56:19.277 に答える