Индексировать данные из не связанных моделей в Django-Haystack Solr

#python #django #solr

#python #django #solr

Вопрос:

У меня есть модель, на которую множество других моделей указывают через внешние ключи, например:

 class MainModel(models.Model):
    name=models.CharField(max_length=40)

class PointingModel1(models.Model):
    color=models.CharField(max_length=40)
    main_model=models.ForeignKey(MainModel)

class PointingModel2(models.Model):
    othername=models.CharField(max_length=40)
    main_model=models.ForeignKey(MainModel)
  

Итак, я хочу вернуть имя MainModel путем поиска полей color и othername в PointingModels. Есть ли какой-либо способ сделать это?

Комментарии:

1. Что такое DyndbComplexExp? поделиться кодом модели DyndbComplexExp.

2. Извините, я перепутал с копированием вставки…

Ответ №1:

Это просто.

 colors = PointingModel1.objects.filter(color='blue')
for color in colors:
    name = color.main_model.name
    # now you can put `name` to a list or something else
  

Комментарии:

1. Должно ли это входить views.py ?

2. Если вам нужно name в представлениях, то в представлениях. На самом деле, это может находиться в любом месте вашего проекта, где вам нужны эти данные.