Как реализовать Добавить в WishList для продукта в Django? - PullRequest
0 голосов
/ 13 июня 2019

Я внедряю приложение, в котором пользователь может создать список покупок, а также найти продукт и добавить его в список покупок.

Я застрял в части «как добавить в список». Я создал модель следующим образом:

class Product(models.Model):
    pid = models.IntegerField(primary_key=True)
    name = models.CharField(max_length=100, db_index=True)
    description = models.TextField(blank=True)

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('shop:product_detail', args=[self.pid, self.slug])


class ShoppingList(models.Model):
    user = models.ForeignKey(User, related_name='shoplist', on_delete=models.CASCADE)
    list_name = models.CharField(max_length=20)
    items = models.ManyToManyField(Product)
    slug = models.SlugField(max_length=150, db_index=True)

    def __str__(self):
        return self.list_name

    def get_absolute_url(self):
        return reverse('shop:item_list', args=[self.slug])

В шаблоне для просмотра каждого товара у меня есть следующее

<h3>{{ product.name }}</h3>
<a href="(What is to be written here)">ADD</a>

Мне нужно, чтобы конкретный продукт, который я показываю через get_absolute_url, был добавлен в список покупок при нажатии кнопки ADD.

Я заблудился относительно того, что делать дальше. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 13 июня 2019

Вам необходимо создать новый вид для добавления товара в ShoppingList.

и свяжите его, используя URL

Пример:

Template

<a href="{% url 'app:add_product' product.pk %}">ADD</a>

urls.py

path("cart/add-product/<int:pk>/", ProductAddView.as_view(), name="add_product"),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...