Django 如何计算多少是不喜欢,多少是喜欢?
Django 如何计算多少是不喜欢,多少是喜欢?,django,django-orm,Django,Django Orm,rate可以设置为-1(不喜欢)或1(喜欢)。如何计算多少是不喜欢,多少是喜欢?(对于单个对象) views.py: class ObjectRate(models.Model): user = models.ForeignKey(User) my_object = models.ForeignKey(Design) rate = models.DecimalField(max_digits=2,decimal_places=1) 使用什么“算法”?您可以通过my_ob
rate
可以设置为-1
(不喜欢)或1
(喜欢)。如何计算多少是不喜欢,多少是喜欢?(对于单个对象)
views.py:
class ObjectRate(models.Model):
user = models.ForeignKey(User)
my_object = models.ForeignKey(Design)
rate = models.DecimalField(max_digits=2,decimal_places=1)
使用什么“算法”?您可以通过
my_object
和rate
值(或-1或1)过滤ObjectRate
,并分别获得计数:
def my_views(request,id):
my_object = Object.objects.get(id=id)
votes = ObjectRate.objects.filter(..)
您可以通过
my_object
和rate
值(或-1或1)过滤ObjectRate
,并分别获取计数:
def my_views(request,id):
my_object = Object.objects.get(id=id)
votes = ObjectRate.objects.filter(..)
@Aamir的答案是好的。
但我建议您使用“相关名称”
那么在你看来,
class ObjectRate(models.Model):
user = models.ForeignKey(User, related_name="rates")
my_object = models.ForeignKey(Design)
rate = models.DecimalField(max_digits=2,decimal_places=1)
提示:
没有必要在django过滤器中使用“object\uu id”,只需使用对象即可。
例如:
@Aamir的答案是好的。
但我建议您使用“相关名称”
那么在你看来,
class ObjectRate(models.Model):
user = models.ForeignKey(User, related_name="rates")
my_object = models.ForeignKey(Design)
rate = models.DecimalField(max_digits=2,decimal_places=1)
提示:
没有必要在django过滤器中使用“object\uu id”,只需使用对象即可。
例如:
dislikes = ObjectRate.objects.filter(my_object=my_object, rate=-1).count()
likes = ObjectRate.objects.filter(my_object=my_object, rate=1).count()