4

我有这样的模型:

class Photo(ImageModel):
    title = models.CharField(_('Title'), max_length=100, unique=True)
    title_slug = models.SlugField(_('slug'), unique=True)   
    name = models.CharField(max_length=50, verbose_name="Name", blank=True)


class GroupUpload(ImageModel):
    title = models.CharField(verbose_name="Group Name", max_length=75)
    date_added = models.DateTimeField(verbose_name="Date Added", 
            default=datetime.now, editable=False)
    caption = models.TextField(verbose_name="Caption", blank=True)        
    photos = models.ManyToManyField('Photo', related_name='+', 
          verbose_name=_('F'),null=True, blank=True, through='GroupuploadPhotos')

我的搜索索引:

class PostIndex(indexes.RealTimeSearchIndex, indexes.Indexable): 
    text = indexes.CharField(document=True, use_template=True)     
    date_added = indexes.DateTimeField(model_attr='date_added')

    def get_model(self):
        return Photo

    def index_queryset(self):
        return self.get_model().objects.filter(date_added__lte=
                                                    datetime.datetime.now())

现在我想获取与照片相关的 GroupUpload 对象。有了这个定义,我在 GroupUpload 中只得到照片对象而不是相关对象。我已经检查过文档。但还没有解决。

4

1 回答 1

3

如果你把它related_name='+'放在你class GroupUpload的里面,发生了什么?

更新:

为什么不设置 related_name='group_uploads' 并使用 photo.group_uploads.all() (或者如果它作为 haystack SearchResult - result.object.group_uploads.all())?

问候

于 2012-08-13T10:08:42.017 回答