ZY
Size: a a a
ZY
CA
K
A
СК
NS
class Wishlist(models.Model):
user = models.ForeignKey('User', on_delete=models.CASCADE)
title = models.CharField(max_length=128, unique=True)
products = models.ManyToManyField('Product', blank=True)
Логика начинается с того, что прилетает id-продукта.<QuerySet [<Wishlist: List2>, <Wishlist: List6>, <Wishlist: admin list>]>
3 обьекта - 2 пользователя, т.е. уникальных 2Wishlist.objects.filter(products__id=1).distinct('user')
Выдает ошибку django.db.utils.NotSupportedError: DISTINCT ON fields is not supported by this database backendFE
NS
FE
NS
c
NS
>>> Wishlist.objects.filter(products__id=1).values_list('user', flat=True)<QuerySet [2, 2, 1]>
NS
Wishlist.objects.filter(products__id=1).values_list('utilizator', flat=True).distinct()<QuerySet [2, 1]>
c
Wishlist.objects.filter(products__id=1).values_list('utilizator', flat=True).distinct()<QuerySet [2, 1]>
NS
Wishlist.objects.filter(products__id=1).values_list('user', flat=True).distinct().count()2 == уникальные пользователи
K
DK
K
DK
NS
products = Product.objects.all()как-то сложно на уровне интеллекта получается...
for product in products:
product.unique_users = Wishlist.objects.filter(products__id=product.id).values_list('user', flat=True).distinct().count()
wishlists = Wishlist.objects.filter(user_id=request.user.id)
for wishlist in wishlists:
wishlist.products_ids = wishlist.products.values_list('id', flat=True)
# [List]