Мой оператор if не работает, я использую django и python, и я знаю, что оператор if истинен.

Я работаю с django и python, пытаюсь создать приложение, по какой-то причине следующий оператор if: {% if zone.place_of_table == x.table_place_preference %} не работает, но я знаю, что он должен работать, потому что оператор if истинен, как вы можете видеть на изображении вывода, которое я прикрепил.

Вот мои модели

Модель резервирования:

# Create your models here.
class reservations(models.Model):
    shifts = (
        ('Breakfast', 'Breakfast'),
        ('Lunch', 'Lunch'),
        ('Dinner', 'Dinner'),
    )
    restaurant = models.ForeignKey(restaurants,related_name='restaurant_of_reservation',on_delete=models.CASCADE)
    full_name = models.CharField(max_length=254)
    email = models.EmailField(max_length=254)
    phone_number = PhoneNumberField()
    date = models.DateField()
    shift = models.CharField(max_length=254,choices=shifts,default=shifts[0][0])
    time = models.CharField(max_length=254)
    estimatedtime = models.CharField(max_length=254,default='')
    tablesused = models.CharField(max_length=254,default='')
    table_place_preference = 
models.ForeignKey(placeOfTable,related_name='placeoftable',on_delete=models.CASCADE)
    number_of_people = models.PositiveIntegerField()
    baby_chair = models.PositiveIntegerField()
    message = models.CharField(max_length=254)

    def __str__(self):
        return self.full_name

модель зоны:

class placeOfTable(models.Model):
    restaurant = models.ForeignKey(restaurants,related_name='restaurantplaceoftable',on_delete=models.CASCADE)
    place_of_table = models.CharField(max_length=254,unique=True)

    def __str__(self):
        return self.place_of_table

просмотров:

html template:

          {% if reservation_breakfast %}
          {% for zone in zones %}
          <table class="table">
            <thead class="thead-dark">
              <tr>
                <td></td>
                <td></td>
                <td>{{zone.place_of_table}}</td>
                <td></td>
                <td></td>
              </tr>
            </thead>
            <tbody class="table-group-divider">
              {% for x in reservation_breakfast %}
              <p>{{x.table_place_preference}} == {{zone.place_of_table}} ?</p>

                {% if zone.place_of_table == x.table_place_preference %}
                  <tr>
                    <td>Mark</td>
                    <td>Otto</td>
                    <td>@mdo</td>
                  </tr>
                {% endif %}
              {% endfor %}
            </tbody>
          </table>
          {% endfor %}
          {% endif %}

Вывод будет следующим: Нужно вывести строку таблицы со словами Mark Otto и @mdo, правильно? Кто-нибудь может сказать мне, что я делаю неправильно?

Попробуйте это: Может быть, один как строка, а другой как булево, используя тег safe, мы можем сделать то же самое

{% if zone.place_of_table|safe == x.table_place_preference|safe %}
 <tr>
 <td>Mark</td>
 <td>Otto</td>
 <td>@mdo</td>
 </tr>
{% endif %}
Вернуться на верх