我正在模板中渲染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 %}
谢谢。
修改
Models.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')
答案 0 :(得分:1)
您还需要遍历协作者。
{% for Hotel in object_list %}
{% for collaborator in Hotel.collaborateurs.all %}
{{ collaborator.name }}
{% endfor %}
{% endfor %}
(显然,将name
替换为模型中的相关字段。)