Код DJANGO Python возвращает "None" при попытке получить значение базы данных
Я пытаюсь создать программу, которая перечисляет некоторые данные. Она возвращает все данные правильно, за исключением случаев, когда я пытаюсь распечатать organizer.linkedin_link, и я не могу понять, что вызывает эту проблему.
У меня есть 3 модели: Organizers, Categories (я опустил Categories в models.py) и Groups. Groups имеет поле Many to Many для Organizers. В моем views.py я получаю все объекты из Groups и отправляю их в шаблон через контекст. Но когда я пытаюсь вывести ссылку linkedin_link, принадлежащую организатору, она выводит None.
groups.html:
{% for group in groups %}
<hr>
<h4>Group name:</h4> <p>{{ group.name }}</p>
<h4>Organizers:</h4>
<ul>
{% for organizer in group.organizers.all %}
<li><b>{{ organizer.name }}:</b>
{{ organizer.linkedin_link }}
</li>
{% endfor %}
</ul>
<h4>Member count:</h4> <p>{{ group.member_count }}</p>
<h4>Group location:</h4> <p>{{ group.location }}</p>
<h4>Group description:</h4> <p>{{ group.description }}</p>
<hr>
<br>
{% endfor %}
views.py:
def groups(request):
if request.method == 'POST':
cat_search_form = CategorySearchForm(request.POST)
if cat_search_form.is_valid():
print(cat_search_form.cleaned_data['search_input'])
category_data = Categories.objects.annotate(
similarity=TrigramSimilarity('name', cat_search_form.cleaned_data['search_input']),
).filter(similarity__gt=0.2).order_by('-similarity')
groups_data = Groups.objects.all()
cat_search_form = CategorySearchForm()
context = {
'groups':groups_data,
'categories':category_data,
'form':cat_search_form
}
else:
cat_search_form = CategorySearchForm()
groups_data = Groups.objects.all()
category_data = Categories.objects.all()
context = {
'groups':groups_data,
'categories':category_data,
'form':cat_search_form,
}
return render(request, 'dashboard/groups.html', context)
models.py:
class Organizers(models.Model):
name = models.CharField(max_length=50)
linkedin_link = models.CharField(max_length=500, null=True, blank=True)
class Meta:
ordering = ['name']
def __str__(self):
return self.name
class Groups(models.Model):
name = models.CharField(max_length=250)
organizers = models.ManyToManyField(Organizers)
categories = models.ManyToManyField(Categories)
member_count = models.IntegerField()
location = models.CharField(max_length=50)
description = models.TextField()
message_link = models.CharField(max_length=500)
recieve_message = models.BooleanField(null=True, blank=True, default=True)
has_recieved = models.BooleanField(null=True, blank=True, default=False)
class Meta:
ordering = ['name']
def __str__(self):
return self.name