使用ManyToMany

时间:2019-06-12 19:21:29

标签: django

我正在Django中为一个为IT公司提供后端的类构建应用程序,使他们可以跟踪客户,库存,工作订单等。我可以输入数据并查看它。

但是,我的问题是,我希望自动填充几个字段,理想情况下,当提交工单时,“ work_orders.hours_worked” 会为相关客户填充“ client.used_hours”,而“ work_order.items_used_quantity”也会为相关商品填充“ inventory.item_quantity_sold”。

我已经尝试了无数有关使用ManyToMany关系的教程,包括文档,并且似乎无法将其应用于保持计数这样的上下文。我知道它涉及中间表,但是我无法正确建立关系。

  #Models  
class client(models.Model):
    client_name=models.CharField(max_length = 30)
    contact_name=models.CharField(max_length = 20)
    email=models.EmailField(max_length = 35)
    phone=models.CharField(max_length = 15)
    address=models.CharField(max_length=50)
    city=models.CharField(max_length = 30)
    state=models.CharField(max_length = 30)
    zipcode=models.PositiveSmallIntegerField()
    contract_plan_ID=models.ForeignKey(contract_plan,default=5)
    plan_hours=models.PositiveSmallIntegerField(default=0)
    used_hours=models.PositiveSmallIntegerField(default=0)
    start_date=models.DateField()

class inventory(models.Model):
    item_name=models.CharField(max_length = 30)
    item_description=models.CharField(max_length = 100)
    item_quantity_sold=models.PositiveSmallIntegerField(default=0)
    item_price=models.DecimalField(decimal_places=2,max_digits=6)

class work_order(models.Model):
    order_date=models.DateField()
    tech_ID=models.ForeignKey(technician)
    client_ID=models.ForeignKey(client)
    order_details=models.CharField(max_length = 1000)
    hours_worked=models.PositiveSmallIntegerField()
    order_signature=models.CharField(max_length = 30)
    item_used=models.ForeignKey(inventory)
    items_used_quantity=models.PositiveSmallIntegerField(default=0)

在披萨示例(https://docs.djangoproject.com/en/dev/topics/db/models/#many-to-many-relationships)的Django文档之后,我似乎永远都无法在相应字段中填充任何内容。

0 个答案:

没有答案