Как прикрепить заказ пользователя к товару, выпущенному Django

Ок, у меня есть приложение, в котором пользователи делают заказ для категории через приложение. Каждая категория содержит продукты. И что я хочу сделать: когда продукт выдается пользователю, статус заказа, сделанного пользователем, должен измениться с 1(одобрен) на 4(выдан), и название продукта должно быть добавлено в таблицу заказов, чтобы подтвердить продукт, который был выдан по этому запросу. Как мне сделать это в Django? Ниже приведены мои модели

class Category(models.Model):
    name = models.CharField(max_length=50, blank=True, null=True)
    timestamp = models.DateTimeField(auto_now_add=False, auto_now=True, null=True)
class Product(models.Model):
    pro_name = models.CharField(max_length=100, blank=True, null=True)
    category = models.ForeignKey(Category, on_delete=models.CASCADE, blank=True, null=True)
    issue_to = models.ForeignKey('Order',default='', on_delete=models.CASCADE,blank=True, null=True)
    serial_num = models.CharField(max_length=100, blank=True, null=True)
    model_num = models.CharField(max_length=100, blank=True, null=True)
    storage_size = models.CharField(max_length=50, blank=True, null=True)
    memory_size = models.CharField(max_length=50, blank=True, null=True)
    supplier = models.ForeignKey(Supplier, on_delete=models.CASCADE, blank=True, null=True) 
    receive_quantity = models.IntegerField(default='0', blank=True, null=True)
    issue_quantity = models.IntegerField(default='0', blank=True, null=True)
    issue_by = models.CharField(max_length=50, blank=True, null=True)
    last_updated = models.DateTimeField(auto_now_add=False, auto_now=False, null=True) 
    timestamp = models.DateTimeField(auto_now_add=False, auto_now=True, null=True) 
class Order(models.Model):
    category = models.ForeignKey(Category, on_delete=models.CASCADE, null=True)
    pro_name = models.ForeignKey(Product, on_delete=models.CASCADE, null=True,related_name='product') 
    staff = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
    order_quantity = models.PositiveIntegerField(null=True)
    department = models.CharField(max_length=50, choices=DEPARTMENT, null=True)
    order_status = models.IntegerField(default=0)
    approve_quantity = models.IntegerField(default='1', blank=True, null=True)
    transaction_id = models.CharField(default=uuid.uuid4().hex[:8].upper(), max_length=50, editable=False)
    timestamp = models.DateTimeField(auto_now_add=False, auto_now=True, null=True)

В настоящее время я делаю следующее: после того, как определенный продукт был выдан пользователю, я должен перейти к таблице заказов и изменить статус заказа на 4 (выдан), что является суматохой, особенно когда заказов много.

Вернуться на верх