我目前正在创建一个辩论网站,但喜欢系统存在问题。在我的模型中,我有一个称为“辩论”的类,该类具有“喜欢”,它喜欢成为“多对多”领域。在我的管理页面上,说“喜欢”字段有一定数量的用户-但是当我打印“喜欢”计数时,它显示为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)
在管理员文件中
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。