Условное утверждение в шаблоне Django - PullRequest
0 голосов
/ 18 марта 2019

Это мои модели:

class Profile(models.Model):
    date = models.DateTimeField(auto_now_add=True)
    full_name = models.CharField(max_length=32,blank=True)
    name = models.OneToOneField(settings.AUTH_USER_MODEL,on_delete=models.CASCADE)

class Organisation(models.Model):  
    user        = models.OneToOneField(settings.AUTH_USER_MODEL,related_name='organisation_user',on_delete=models.CASCADE)
    name        = models.CharField(max_length=100,blank=True)
    members     = models.ManyToManyField(settings.AUTH_USER_MODEL,related_name='organisation_members',blank=True)

Я хочу создать в своем шаблоне условие, что если элемент в поле manytomany уже существует, то будет показана ссылка Already added или Add Member, и я хочу сделать это в шаблоне представления списка профилей.

Итак, я сделал следующее в моем шаблоне:

{% for prof in profile %}
    {% if member in prof.name.organisation_user.members %}
        <a href="{% url 'userprofile:add_member' pk=prof.pk %}" class="btn btn-info" role="button"><i class="fa fa-plus" aria-hidden="true"></i>Already added</a>
    {% else %}
       <a href="{% url 'userprofile:add_member' pk=prof.pk %}" class="btn btn-info" role="button"><i class="fa fa-plus" aria-hidden="true"></i>Add member</a>
    {% endif %}
  {% endfor %}

Обновление

Я сделал следующее:

{% for prof.name in prof.name.organisation_members.all %}
   {% if prof.name %}
      <a href="#" class="btn btn-info" role="button">Already added</a>
   {% else %}
       <a href="{% url 'userprofile:add_member' pk=prof.pk %}" class="btn btn-info" role="button"><i class="fa fa-plus" aria-hidden="true"></i>&nbsp; Add member</a>
   {% endif %}
 {% endfor %}

Но теперь остальная часть не работает ...

Может кто-нибудь сказать мне, почему?

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Сделано по приведенной ниже логике и все отлично работает:

{% for prof in profile %}
    {% if prof.Name.organisation_members.all %}
       <a href="#" class="btn btn-primary" role="button">Already added</a>
    {% else %}
       <a href="{% url 'userprofile:add_member' pk=prof.pk %}" class="btn btn-info" role="button"><i class="fa fa-plus" aria-hidden="true"></i>&nbsp; Add member</a>
    {% endif %}
{% endfor %}

Спасибо всем

0 голосов
/ 18 марта 2019

Надеюсь, это поможет вам

    {% for prof in profile %}
        {% if prof.name.organisation_members == None %}
           <a href="{% url 'userprofile:add_member' pk=prof.pk %}" class="btn btn-info" role="button"><i class="fa fa-plus" aria-hidden="true"></i>Add member</a>
        {% else %}
           <a href="{% url 'userprofile:add_member' pk=prof.pk %}" class="btn btn-info" role="button"><i class="fa fa-plus" aria-hidden="true"></i>Already added</a>
        {% endif %}
    {% endfor %}
...