Мой оператор 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 %}