我有 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()
实际上我正在创建一个餐厅管理系统。所以在这里,一家餐馆的桌子与一个或多个服务员相关联。但我需要一个新功能,即表状态。我的意思是,当一个订单与表积极关联时,这意味着该表已被预订。实际上这不是问题,因为我可以通过多种方式做到这一点。
一种方法是我将计算与此表关联的活动订单,如果我发现任何活动订单,我将返回该表已预订。
另一种方法是我将在表中添加一个额外的字段作为标志。这个表的标志存储状态是否已预订我的意思是布尔字段。
但我的问题不是解决方案。我的问题是哪个更好,或者还有其他好的解决方案。请简要解释一下我想知道哪种解决方案更好以及为什么。
呼啦一阵风
相关分类