Система инвентаризации с использованием ManyToMany - PullRequest
0 голосов
/ 12 июня 2019

Я создаю приложение в Django для класса, который предоставляет бэкэнд для ИТ-компании, позволяя им отслеживать клиентов, запасы, рабочие задания и многое другое.Я могу вводить данные и просматривать их очень хорошо.

Однако моя проблема заключается в том, что я хотел бы, чтобы пара полей заполнялась автоматически, в идеале, чтобы при отправке рабочего задания этоwork_orders.hours_worked "заполнил бы" client.used_hours "для рассматриваемого клиента, а также" work_order.items_used_quantity "для заполнения инвентаризации" item.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)

Следуя документации Django примера Pizza (https://docs.djangoproject.com/en/dev/topics/db/models/#many-to-many-relationships) Мне кажется, что я ничего не могу получитьзаполнить в соответствующих полях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...