有人能帮我吗?
我在尝试更改添加到收藏夹时的图标颜色时遇到此错误。
这个错误有什么解决办法吗?
这是我将我的帖子添加到收藏夹的视图:
@login_required
def favourite_post(request, id):
post = get_object_or_404(Car, id=id)
if post.favourite.filter(id=request.user.id).exists():
post.favourite.remove(request.user)
else:
post.favourite.add(request.user)
return HttpResponseRedirect(post.get_absolute_url())
这是我的模型
class Car(models.Model):
favourite = models.ManyToManyField(User, related_name='favourite', blank=True)
我想发送的是最喜欢的节目,哪个节目被添加到最喜欢的节目中
def show_all_car_page(request):
filtered_cars = CarFilter(
request.GET,
queryset=Car.objects.all()
)
paginator = Paginator(filtered_cars.qs, 3)
page = request.GET.get('page', 1)
posts = paginator.get_page(page)
is_favourite = bool
if filtered_cars.Meta.model.favourite.filter(id=request.user.id).exists():
is_favourite = True
context = {
'filtered_cars': filtered_cars,
'posts': posts,
'is_favourite': is_favourite
}
return render(request, 'index.html', context=context)
这里是我的filter.py,我可以在这里过滤我的帖子,
class CarFilter(django_filters.FilterSet):
class Meta:
model = Car
fields = ['brand', 'city', 'body_type', 'model', 'year', 'transmission']
在我的模板中,我也是这样做的:
{% if request.user.is_authenticated %}
<a href="{% url 'car:favourite_post' id=car.id %}" title="Seçilənlərə Əlavə et">
{% if is_favourite %}
<i class="fas fa-heart" style="color: red"></i>
{% else %}
<i class="far fa-heart"></i>
{% endif %}
</a>
{% else %}
<a href="{% url 'user:login' %}" title="Seçilənlərə Əlavə et">
<i class="far fa-heart"></i>
</a>
{% endif %}
1条答案
按热度按时间0x6upsns1#
好吧,那么你是想
filter
使用的示例(单个对象)Car
table您需要做的是使用类本身进行过滤。例如
你在干什么
.add()
及.remove()
但这是正确的。这些都是在模型的一个示例上完成的。