如何在GenericForeignKey中使用filter()

时间:2013-02-21 08:15:49

标签: python django django-1.4

我看了class GenericForeignKey

该链接有这句话“由于GenericForeignKey的实现方式,你不能通过数据库API直接使用过滤器(例如filter()和exclude())这样的字段。因为GenericForeignKey不是正常的字段对象,这些示例不起作用:“

但我需要使用filter()。

class Note(models.Model):
    contents = models.TextField()
    writer = models.ForeignKey(User, to_field='username')
    date = models.DateTimeField(auto_now_add=True)

    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey('content_type', 'object_id')

...

>>> n = Note.objects.create(content_object=domain, contents=u"babo", writer=user)
>>> n.save()

>>> Note.objects.filter(contents=u"babo") # This is fail...

我想在Note Models中搜索'contents'字段......

我该怎么办?

0 个答案:

没有答案