#django
#django
Вопрос:
У меня есть модель продукта, цена и пользовательский заказ. Я хочу получить список продуктов при создании заказа, который используется в качестве внешнего ключа в custorder. Я использую postgres в качестве базы данных.
class Product(models.Model):
product = ArrayField(models.CharField(max_length=200), blank=True)
def __str__(self):
return str(self.product)
class Price(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE)
price = models.DecimalField(max_digits=50, decimal_places = 5, default=0)
def __str__(self):
return "%s" % self.price
class CustOrder(models.Model):
Customer_id = models.AutoField(primary_key=True)
CustomerName = models.CharField(max_length=200)
email = models.EmailField(max_length=70,blank=True, null= True, unique= True)
gender = models.CharField(max_length=6, choices=GENDER_CHOICES)
phone = PhoneField(null=False, blank=True, unique=True)
landmark = models.PointField()
#landmark = models.TextField(max_length=400, help_text="Enter the landmark", default='Enter landmark')
houseno = models.IntegerField(default=0)
#product_name = models.CharField(max_length=200, choices=PRODUCT_CHOICES,default='Boneless chicken')
product = models.ForeignKey(Product, on_delete=models.SET_NULL, null=True,related_name='pricetag')
quantity = models.IntegerField(default=0)
price = models.ForeignKey(Price, on_delete=models.SET_NULL, null=True,related_name='pricetag')
#price = models.DecimalField(max_digits=50, decimal_places=5, default=48.9)
pay_method = models.CharField(max_length=200,choices=PAYMENT_CHOICES, default='RAZOR PAY')
city = models.ForeignKey(City, on_delete=models.SET_NULL, null=True)
area = models.ForeignKey(Area, on_delete=models.SET_NULL, null=True)
Price.objects.aggregate(Sum('price'))
def __str__(self):
return self.CustomerName
Комментарии:
1. Ваш вопрос не очень понятен
2. Я хочу это при создании заказа для клиента.. он должен иметь возможность заказывать несколько продуктов, поэтому для этого я использовал поле array в классе product, но что я должен использовать в custorder.product, чтобы показать этот массив product
3. Я думаю, вам нужно создать
custorder.product
отношения ManyToMany, поскольку заказ может содержать много продуктов4. Я использовал это как: product = models. ManyToManyField (продукт) Но все равно это не работает
5. можете ли вы добавить представление, в котором вы пытаетесь добавить данные к вопросу, я думаю, это сделало бы его более понятным