Невозможно получить модель в шаблоне через related_name
Я создаю проект, в котором есть 2 приложения (группа & сообщения) и только что узнал, что можно использовать:
from django import template
register = template.Library()
Разрешить ссылку из сообщения на группу через related_name. Теперь я хочу показать члена группы во всех группах. Но когда я пытаюсь показать GroupMember в шаблоне post_list через related_name = user_groups, он не показывает данные (то же самое со всеми группами). Похоже, что я что-то упустил, не могли бы вы проверить это для меня. Спасибо!
App groups models.py
from django import template
register = template.Library()
class Group(models.Model):
name = models.CharField(max_length=235, unique=True)
slug = models.SlugField(allow_unicode=True,unique=True)
descripsion = models.TextField(blank=True,default='')
descripsion_html = models.TextField(editable=False,default='',blank=True)
member = models.ManyToManyField(User,through='GroupMember')
def __str__(self):
return self.name
def save(self,*args, **kwargs):
self.slug =slugify(self.name)
self.descripsion_html = misaka.html(self.descripsion)
super().save(*args, **kwargs)
def get_absolute_url(self):
return reverse("groups:single", kwargs={"slug": self.slug})
class GroupMember(models.Model):
group = models.ForeignKey(Group,related_name='memberships',on_delete=models.CASCADE)
user = models.ForeignKey(User, related_name='user_groups',on_delete=models.CASCADE)
def __str__(self):
return self.user.username
В шаблоне post_list.html
<h5 class='title'> Your Groups</h5>
<ul class='list-unstyled'>
{% for member_group in get_user_groups %}
<li class='group li-with-bullet'>
<a href="{% url 'groups:single' slug=member_group.group.slug %}">{{ member_group.group.name }}</a>
</li>
{% endfor %}
<h5 class='title'> All groups</h5>
<ul class='list-unstyled'>
{% for other_group in get_other_groups %}
<li class='group li-with-bullet'>
<a href="{% url 'groups:single' slug=other_group.slug %}"></a>
</li>
{% endfor %}