我正在为我的公司编写客户管理系统,并陷入支付录入系统。这将在本地专用服务器上运行,并且应该只有一个用户,因此代码性能不是真正的问题。
进入商店的每位成年客户都会获得一张编号的卡片(Card
,对于此问题的其余部分),他/她的ID(来自Customer
型号)由外国人附上关键关系。有一个"入场费小计",这是Card
模式上的选择字段的结果(只有两个选项,并且那些很长时间没有变化)加上孩子的费用'。
这与其他两种模型(Product
和Service
)一起构成了客户的账单。除了付款登记外,我的工作正常。
由于许多客户可能属于一个家庭,并且他们可能经常分摊总账单,我相信Payment
应该是ManyToManyField
与[{1}}相关的模型,因此它可以覆盖多种付款方式(被视为另一个选择字段,因为它将是金钱,信用卡或借记卡)但我无法弄清楚如何对其进行建模以及如何在我的视图/模板中处理它。
我正在使用django 1.9& postgres 9.5& python 2.7。
Bootstrap 3和一些JS用于样式化(可能无关紧要)。 够了,这里有一些代码:
Card
models.py
无论如何,我真的需要帮助建模付款。它应包含付款方式,日期以及class Customer(models.Model):
id = models.AutoField(primary_key=True) #unnecessary but I had already written it
name = models.CharField(max_length=40)
last = models.CharField(max_length=80)
class Card(models.Model):
entrance_type1 = 1
entrance_type2 = 2
entrance_choices = (
(entrance_type1, 'Fun'),
(entrance_type2, 'Really Fun, kinda expensive'),
)
entrance_types = {
1:"Fun",
2:"Really Fun",
}
entrance_fee= {
'kid':5.0,
entrance_type1:15.0,
entrance_type1:35.0,
}
id = models.AutoField(primary_key=True) #Yeah, I do that
date = models.DateTimeField(auto_now=True, auto_now_add=False)
card_number = models.IntegerField()
entrance_type = models.PositiveIntegerField(choices=entrance_choices)
kids_number = models.PositiveIntegerField()
id_costumer = models.ForeignKey(Customer)
entrances_value = models.DecimalField(max_digits=6, decimal_places=2)
#will be entrance_fee[entrance_type] + entrance_fee['kid'] * kids_number
status = models.BooleanField(default=1) #should be 0 after payment(s)
与之相关的日期。
我已经在视图/模板步骤中获得了想法,因此我对那些答案的答案并不严格。
我确实相信我的问题有点模糊和迷惑,但不能弄清楚如何让它变得更好(也许这就是为什么我不能自己解决它)所以请在你的疑惑中评论我和#39 ;午餐后将对其进行编辑(包括在改进后删除此部分)。
提前致谢