Почему значение поля «многие ко многим» равно нулю, хотя оно содержит пользователей? - PullRequest
0 голосов
/ 26 марта 2019

Я сейчас создаю дискуссионный сайт, но у меня проблема с системой симпатий.В моих моделях у меня есть класс под названием «Дебаты», в котором есть «лайки», в которых «нравится многим ко многим».На моей странице администратора написано, что в поле лайков есть определенное количество пользователей - но когда я распечатываю количество лайков - оно показывает 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...