【问题标题】:Rendering queryset on template without <QuerySet [<User:>]>在没有 <QuerySet [<User:>]> 的模板上呈现查询集
【发布时间】:2019-07-24 11:30:08
【问题描述】:

我在我的模板中渲染了一个 ManyToManyField,但它显示如下:

<QuerySet [<User: Guido>]>

我只想打印出没有该功能的用户名。

我的views.py

class HotelListView(LoginRequiredMixin,ListView):
  model = Hotel

  def get_queryset(self):
    return self.model.objects.filter(collaborateurs=self.request.user)

我的模板

{% for Hotel in object_list %}
     {{ Hotel.collaborateurs.ALL }}
          {% endfor %}

谢谢。

编辑

模型.py

class Hotel(models.Model):
collaborateurs = models.ManyToManyField(User, verbose_name="Liste des collaborateurs autorisés")
code = models.CharField(max_length=500,verbose_name="Code hôtel", null=True, blank=True)
email_manager = models.EmailField(max_length=150,verbose_name="Contact RH", null=True, blank=True)
contact_rh = models.EmailField(max_length=150,verbose_name="Contact RH", null=True, blank=True)
contact_gm = models.EmailField(max_length=150,verbose_name="Contact GM",null=True, blank=True)
payday = models.CharField(max_length=500,verbose_name="Jour de paye prévu du mois", null=True, blank=True)
hotel = models.CharField(max_length=500,verbose_name="Nom de l'hôtel")
planning = models.URLField(max_length=500, verbose_name="Planning du mois", null=True, blank=True)

def __str__(self):
    return self.hotel

def get_absolute_url(self):
    return reverse('hotel')

【问题讨论】:

  • 协作者模型是否有 __repr__?
  • 嗨!查看我更新的代码。不,它没有,谢谢。

标签: python django django-templates django-queryset django-2.1


【解决方案1】:

您还需要遍历协作者。

{% for Hotel in object_list %}
   {% for collaborator in Hotel.collaborateurs.all %}
      {{  collaborator.name }}
   {% endfor %}
  {% endfor %}

(显然将name替换为模型中的相关字段。)

【讨论】:

  • 它不起作用。我仍然有这样显示的查询集: ,>
猜你喜欢
  • 1970-01-01
  • 2019-05-04
  • 2021-04-21
  • 2020-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-14
  • 1970-01-01
相关资源
最近更新 更多