【发布时间】:2021-11-03 19:21:33
【问题描述】:
让我们考虑一下我的 models.py
class ItemsInvoices(models.Model):
RESERVED = 1
NOT_RESERVED = 2
ACCEPTED_BY_CUSTOMER = 3
PO_OR_DEPOSIT_RECEIVED = 4
DELIVERY_SET = 5
NOT_READY = 6
DELIVERED = 7
ORDER_STATUS = (
(RESERVED, 'Reserved'),
(NOT_RESERVED, 'NOT Reserved'),
(PO_OR_DEPOSIT_RECEIVED, 'Accepted by customer'),
(PO_OR_DEPOSIT_RECEIVED, 'PO or deposit received'),
(DELIVERY_SET, 'Delivery set'),
(NOT_READY, 'Not ready'),
(DELIVERED, 'Delivered'),
)
invoice_number = models.IntegerField(blank=True, null=True)
order_status = models.IntegerField(default=RESERVED, choices=ORDER_STATUS)
class ItemsAddedInvoice(models.Model):
item_invoice = models.ForeignKey(ItemsInvoices)
class StockMovements(models.Model):
item_added_invoice = models.ForeignKey(ItemsAddedInvoice, blank=True, null=True)
sales_group_id = models.IntegerField(blank=True, null=True)
这里根据我的 sales_group_id 我需要过滤 ItemsInvoices 表中 order_status 设置为 RESERVED 的项目。(这里我们需要根据 sales_group_id 进行过滤,因为对于每个 sales_group_id 我们可能有多个 item_added_invoice_id )
例如,让我们将 StockMovements 的数据库表视为:
item_added_invoice_id | sales_group_id
2206 | 1
2207 | 1
2208 | 2
2209 | 3
2210 | 4
2211 | 4
2212 | 4
2213 | 5
对于 ItemsAddedInvoice
id | item_invoice_id
2206 | 1236
2207 | 1236
2208 | 1236
2209 | 1236
2210 | 1236
2211 | 1241
2212 | 1241
2213 | 1242
物品发票
id | order_status
1236 | 1
1241 | 2
1241 | 1
最后在一个模式弹出窗口中,我们只需要显示带有 order_status==1 的 invoice_numbers(即 RESERVED )
【问题讨论】:
标签: python django django-models django-views django-templates