python - Django Haystack 外键关系

标签 python django django-models solr django-haystack

我有这样的模型:

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 中只得到照片对象而不是相关对象。我检查了文档。但还没有解决。

最佳答案

如果您将 related_name='+' 放入您的 class GroupUpload 中,会发生什么?

更新:

Why not set related_name='group_uploads' and use photo.group_uploads.all() (or if it as haystack SearchResult - result.object.group_uploads.all())?

问候

关于python - Django Haystack 外键关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11930767/

相关文章:

python - 字符串列表到整数数组

python - 使用 pytest-cov 的类声明缺少测试覆盖率

python - 作为可调用的默认值仅在 django 迁移期间调用一次

django - Django 中的同义多对多模型关系

Django ManyToMany 'str' 对象没有属性

python - 在 Google App Engine 中查询 ReferenceProperty

python - 如何做具有时间值(value)的报表

python - Django:在可变数量的列上注释总和

django - 如何使我的 css 文件在 django 中工作

Django QuerySet Limit 多次访问数据库?