我有 3 個型號,它們如下class Table(models.Model): waiter = models.ForeignKey(get_user_model(), on_delete=models.CASCADE, related_name='restaurant_table') table_no = models.IntegerField() objects = TableManager()class Order(models.Model): customer = models.ForeignKey(Customer, on_delete=models.CASCADE) food = models.ManyToManyField(OrderFood, related_name='ordered_food') order_status = models.ForeignKey(OrderStatus, on_delete=models.CASCADE) table = models.ForeignKey(Table, on_delete=models.CASCADE) datetime = models.DateTimeField(default=now)class OrderStatus(models.Model): CHOOSE = ( ('Received', 'Received'), ('Cooking', 'Cooking'), ('WaiterHand', 'In Waiter Hand'), ('Delivered', 'Delivered'), ('Paid', 'Payment Completed'), ('Rejected', 'Rejected') ) status = models.CharField(max_length=30, null=False, blank=False, choices=CHOOSE) created_at = models.DateTimeField(auto_now=True) updated_at = models.DateTimeField()實際上我正在創建一個餐廳管理系統。因此,這里的餐廳有與一個或多個服務員相關的桌子。但我需要一個新功能,即表狀態。我的意思是,當訂單與餐桌主動關聯時,意味著該餐桌已被預訂。實際上這不是問題,因為我可以通過多種方式做到這一點。一種方法是我將計算與此表關聯的活動訂單,如果我發現任何活動訂單,我將返回該表已預訂。另一種方法是我將在表中添加一個額外的字段,該字段是一個標志。桌子的標志存儲狀態是否已預訂,我的意思是布爾字段。但我的問題不是解決方案。我的問題是哪個更好或者還有其他好的解決方案。請簡要解釋一下我想知道哪種解決方案更好以及為什么。
在 Django Orm 查詢中需要幫助
幕布斯6054654
2023-09-15 17:14:12