Добавление товара сразу в заказ (магазин без корзины) [django]

Я делаю магазин, без корзины, то есть сразу создается order и сохраняется в БД как order, но выглядит как корзина.

Мой models:

STATUSES = (
    ('NEW', 'New'),
    ('PROGRESS', 'Progress'),
    ('DONE', 'Done),
)
class Order(models.Model):
    first_name = models.CharField(max_length=20)
    last_name = models.CharField(max_length=20)
    email = models.EmailField()
    phone = models.CharField(max_length=20)
    delivery_time = models.DateTimeField()
    address = models.CharField(max_length=200)
    comment = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
    is_paid = models.BooleanField(default=False)
    user = models.ForeignKey(User, on_delete=models.CASCADE, null-True)
    status = models.CharFiels(max_lenght=20, choises=STATUS

    class Meta:
        ordering = ['-created_at']

    def __str__(self):
        return f'Order: {self.id} on name {self.first_name} {self.last_name}'

    def get_total_cost(self):
        return sum(item.get_cost() for item in self.items.all())


class OrderItem(models.Model):
    order = models.ForeignKey(Order, related_name='items', on_delete=models.CASCADE)
    product = models.ForeignKey(Product, related_name='order_items', on_delete=models.CASCADE)
    quantity = models.PositiveIntegerField(default=1)

    def __str__(self):
        return f'{self.id}'

    def get_cost(self):
        return self.product.price * self.quantity

class Product(models.Model):
    title = models.CharField(max_length=100, db_index=True, unique=True)
    slug = models.SlugField(max_length=150, db_index=True)
    category = models.ForeignKey(Category, related_name='products', on_delete=models.CASCADE)
    photo = models.ImageField(upload_to='photos/', blank=True)
    description = models.TextField(blank=True)
    price = models.DecimalField(max_digits=7, decimal_places=2')
    in_stock = models.BooleanField(default=True)
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta:
        ordering = ['title', '-created_at']
        index_together = (('id', 'slug'),)

    def __str__(self):
        return self.title

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

Мне нужно views, для добавления товара в заказ.

ПОЖАЛУЙСТА! Нужна любая помощь. Кто может это сделать. Или кто где-то видел что-то подобное. Любые ссылки, подсказки, буду благодарен всему.

Вернуться на верх