Witam, mam takie dwa modele jak poniżej. Chcę aby to jednego zamówienia była przypisana dowlna liczba produktów. Jaką mogę ze sobą powiązac te dwa modele. Zmieniłem foregin key z w Order na ManyToManyField i jako argumetn podałem product ale w panelu admina nic się nie zmeiniłeo dalej mogę wybrać tylko jeden produkt. Jak to naprawić?
from django.db import models
from django.urls import reverse
from django.utils import timezone
from PIL import Image
from ckeditor.fields import RichTextField
from django.contrib.auth import get_user_model
class Product(models.Model):
name = models.CharField(max_length=100)
amount = models.IntegerField(default=0)
description = RichTextField(
blank=True, null=True
)
price = models.DecimalField(max_digits=12, decimal_places=2)
image = models.ImageField(default="default.png", upload_to="product_pics")
date_added = models.DateTimeField(default=timezone.now)
def __str__(self):
return self.name
def save(self):
super().save()
img = Image.open(self.image.path)
if img.height > 300 or img.width > 300:
output_size = (300, 300)
img.thumbnail(output_size)
img.save(self.image.path)
def get_absolute_url(self):
return reverse("shop-product-detail", kwargs={"pk": self.pk})
class Order(models.Model):
sent = "sent"
delivered = "delivered"
pending = "pending"
STATUS = (
(sent, "Sent"),
(delivered, "Delivered"),
(pending, "Pending"),
)
user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
product = models.ManyToManyField(Product, on_delete=models.CASCADE)
date_ordered = models.DateTimeField(default=timezone.now)
amount = models.IntegerField(default=1)
total_price = models.DecimalField(max_digits=12, decimal_places=2)
status = models.CharField(max_length=20, choices=STATUS, default="pending")