Как проверить, является ли поле / атрибут пустым и пустым в Django? - PullRequest
1 голос
/ 24 апреля 2020

Мой атрибут платежа имеет отношение ForeignKey. В моих аккаунтах. html, я хочу показать пользователям, оплатили ли они свои заказы. Поэтому я пытался это так:

{% if order.payment is null or blank %}
    <td> x</td>
{% else %}
    <td> Yes</td>
{% endif %}

Но это не сработало. Какой правильный код для этого?

Мои заказы.models.py:

class Order(models.Model):
    payment = models.ForeignKey(Payment, on_delete=models.SET_NULL, blank= True, null=True)

Мои учетные записи. html:

{% for order in user.order_set.all %}
    <tbody>
      <tr>
        <th scope="row">{{ forloop.counter }}</th>
          <td>{{ order.order_id }}</td>
            {% if order.payment is null or blank %}
              <td> x</td>
            {% else %}
              <td> Yes</td>
            {% endif %}
            <td>No</td>
        </tr>
    </tbody>
{% endfor %}

Ответы [ 2 ]

1 голос
/ 24 апреля 2020

пробел не является состоянием поля. Если поле пустое, это означает, что значение не требуется передавать. Например, используется значение по умолчанию.

Вы можете проверить, является ли значение NULL, проверив, является ли значение is None:

{% if order.payment <b>is None</b> %}
    &hellip;
{% endif %}
1 голос
/ 24 апреля 2020

Вы можете просто использовать {% if not order.payment %}, и я уверен, что вы также можете использовать {% if not order.payment.exists %} или {% if order.payment is None %}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...