Django models 如何编写Django模型迭代器?

Django models 如何编写Django模型迭代器?,django-models,iterator,Django Models,Iterator,我编写了一个小的Django应用程序来处理用户的私人消息。模型如下所示: #models.py class Message(models.Model): subject = models.CharField(max_length=100) body = models.TextField() from = models.ForeignKey(User) to = models.ForeignKey(User) #.... some more fields

我编写了一个小的Django应用程序来处理用户的私人消息。模型如下所示:

#models.py
class Message(models.Model):
    subject = models.CharField(max_length=100)
    body = models.TextField()
    from = models.ForeignKey(User)
    to = models.ForeignKey(User)
    #.... some more fields
我想在模型中添加一个“Inbox”属性/方法来封装查询数据库中的Inbox项目,因此在views.py中,我可以像下面这样迭代接收到的消息:

# views.py
from models import Message

for msg in Message.inbox(request.user):
    print "%s: %s", (msg.from, msg.subject)

显然,我应该在模型类中执行类似于
qs=Message.objects.filter(to=user)
的操作,但是我该如何做呢?我该退什么?这到底是个好主意还是个坏主意?

为什么不能直接返回查询集?@AaronGage,返回查询集是默认的解决方案。然而,我正在寻找一种更优雅的方法来在模型类中创建迭代器。@user1102018查询集有什么不雅之处?@Marcin,查询集中没有什么不雅之处。正如我所写,我正在寻找一种更优雅的方法:)如果这是一种可接受的、良好的实践方法,那么我将不再进一步研究。@user1102018如果您不说出您发现的现有解决方案的缺点,我们无法量化“更优雅”。