2015-12-01 1 views
0

Я знаю, это может показаться глупым, но я просмотрел документацию, а также похожие вопросы и попробовал все безрезультатно. Я упускаю что-то очень важное в джанго, я думаю.сравнить два экземпляра модели для равенства

Вот мое определение модели

class myModel(models.Model): 
     CLIENT_ID=models.CharField(max_length=5, blank=True) 
     PROFILE_PICTURE = ImageField() 
     other fields... 

class myNewModel(models.Model): 
     CLIENT_ID=models.CharField(max_length=5, blank=True) 
     more fields.. etc 

CLIENT_ID предполагается провести числовое значение в основном.

Теперь в моих шаблонах мне нужно вытащить PROFILE_PICTURE из объектов myModel, когда CLIENT_ID из двух объектов совпадают.

То, что я пытаюсь сделать, это похоже на

{% for users in top %} 
    {% for client in clients %} 
    {% if users.instance.CLIENT_ID == client.instance.CLIENT_ID %} 
    <tr> 
     <th>{{users.CLIENT_ID}}</th> 
    <th><img src="{{ users.PROFILE_PICTURE.url }}" style="width:auto;height:25px" /></th> 
      {% endif %}{% endfor %} 
    {% endfor %} 

Где верх массив объектов MyModel, и клиенты это массив объектов myNewModel.

На моих view.py Я извлек все объекты моделей, и я получаю другие детали в порядке. Это правильный способ сравнения?

Пожалуйста, помогите.

ответ

0

Общий синтаксис для дополнительных/условных элементов в шаблонах Django:

{% if condition %} 
    <element /> 
{% endif %} 

где my_model_instance.CLIENT_ID == my_new_model_instance.CLIENT_ID должен быть действительным условием.

+0

Да, я правильно использовал синтаксис, но не условие. Использование вашего предложения дает мне всегда истинную ситуацию, как в случае Если в my_model_instance.CLIENT_ID нет элементов/пустых значений, я все еще вижу всю заполненную ею страницу. Хотя это еще один шаг, но я просто хочу подтвердить, можно ли сравнить значения CharField таким образом. –

+0

Чтобы уточнить, у меня есть только несколько объектов в myModel и сотни объектов в myNewModel. В моих шаблонах мне нужно запустить цикл for, чтобы пройти, запустить его в вложенном режиме и попытаться сравнить. Я получаю всегда верный вывод. Добавление/обновление кода шаблона выше в запросе. Большое вам спасибо за ответ –

+0

Я все еще ищу ответ, пробовал все возможные варианты, о которых я мог думать, не мог выйти за рамки этой простой вещи. –

 Смежные вопросы

  • Нет связанных вопросов^_^