Я сейчас создаю дискуссионный сайт, но у меня проблема с системой симпатий.В моих моделях у меня есть класс под названием «Дебаты», в котором есть «лайки», в которых «нравится многим ко многим».На моей странице администратора написано, что в поле лайков есть определенное количество пользователей - но когда я распечатываю количество лайков - оно показывает 0.
Я уже пытался изменить параметры моей модели лайков,вручную установите значение пользователя в модели и проверите, правильно ли я печатал значение, но ни одна из них, похоже, не помогла мне решить проблему.
В ФАЙЛЕ МОДЕЛЕЙ
class Debate(models.Model):
username = models.CharField(max_length =20 , blank=True, default='')
title = models.CharField(max_length = 200, blank=True, default='')
likes = models.ManyToManyField(UserProfile, related_name='likes', blank=True)
В ADMINФАЙЛ
from django.contrib import admin
from .models import Debate, Comments
class InfoAdmin(admin.ModelAdmin):
list_display = ('id', 'title', 'like_count',)
def like_count(self,obj):
return obj.likes.all().count()
admin.site.register(Debate, InfoAdmin)
АДМИНИСТРАЦИЯ СТРАНИЦЫ В ОДНОМ ДИСКУСЕ (название дискуссии h)
Likes: UserProfile object(5)
UserProfile object(9)
СПИСОК ДЕБАТОВ АДМИНИСТРАЦИИ
ID TITLE LIKE COUNT
13 h 0
Это похожевывод, когда дебаты только что созданы.Можно ожидать, что счетчик одинаковых значений напечатает 2, поскольку есть два объекта, но вместо этого он печатает 0.