у меня 3 модели. Я использую биллменагмент для даты и счета клиента
В таблице сохраняются записи о продаже товара, о том, сколько товаров продано. Я использую запрос ORM Django и получаю
записывайте правильно, но мне нужны также те товары, которые не продаются, а в моем продукте покупателя просто сохраняйте запись о продаже товара.
Мне нужен продукт продажи, а не продажи, потому что я занимаюсь разработкой книги инвентаризации, которая показывает все записи. Вот мой вопрос:
products = Product.objects.all().order_by('id')
---------------------------------------------------
product_sale_history = BillManagement.objects.filter(Q(creation_date__gte=from_date) &
Q(creation_date__lte=to_date) & Q(product__in=products) ).exclude(
Q(customer_id=1248)).values('customerproductbill__product_id')\
.annotate(sale_quantity = Coalesce(Sum('customerproductbill__product_qty'), 0)).order_by('customerproductbill__product_id')
class Product(models.Model):
""" Represent an Inventory Product entity """
product_name = models.CharField(max_length=512, null=True, blank=True)
reference_number = models.CharField(max_length=20, null=True, blank= True, unique=True)
class Meta:
verbose_name_plural = 'Inventory Products'
def __unicode__(self):
return self.product_name
-------------------------------------------------------
class BillManagement(models.Model):
""" Represent a Bill entity"""
bill_number = models.CharField(max_length=250, null=True, blank=True)
creation_date = models.DateField(auto_now_add=True)
product = models.ManyToManyField(Product,through='CustomerProductBill',
related_name='customer_product_bill')
class Meta:
verbose_name_plural = 'BillManagements'
ordering = ['creation_date']
def __unicode__(self):
return self.creation_date
------------------------------------------------
class CustomerProductBill(models.Model):
""" Represent a CustomerProductBill entity """
bill = models.ForeignKey(BillManagement, null=True, blank=True)
product = models.ForeignKey(Product, null=True, blank=True)
product_qty = models.IntegerField(null=False, blank=False, default=0)
class Meta:
verbose_name_plural = 'CustomerProductBill'
ordering = ['product']
def __unicode__(self):
return self.product.product_name
Может ли кто-нибудь изменить мой запрос. Как я могу получить продажу, а не продажу товара в таблице, используя запрос формы django