Some checks failed
Build and Push to Docker Hub / build-test-push (push) Failing after 1m55s
56 lines
1.5 KiB
Python
56 lines
1.5 KiB
Python
"""
|
|
Order model
|
|
"""
|
|
|
|
from django.db import models, transaction
|
|
from django.db.models import F
|
|
from core.apps.eggs.models import Location, courier, location, market
|
|
from core.http.models import base
|
|
|
|
|
|
class Order(base.AbstractBaseModel):
|
|
STATUS_CHOICES = (
|
|
("pending", "Pending"),
|
|
("delivery", "Delivery"),
|
|
("success", "Success"),
|
|
("done", "Done"),
|
|
("cancel", "Cancel"),
|
|
)
|
|
|
|
courier_id = models.ForeignKey(
|
|
to=courier.Courier,
|
|
on_delete=models.CASCADE,
|
|
related_name="orders",
|
|
null=True,
|
|
blank=True,
|
|
)
|
|
market_id = models.ForeignKey(
|
|
to=market.Market,
|
|
on_delete=models.CASCADE,
|
|
related_name="orders",
|
|
null=True,
|
|
blank=True,
|
|
)
|
|
data = models.DateTimeField(auto_now_add=True)
|
|
status = models.CharField(
|
|
max_length=255, choices=STATUS_CHOICES, default="pending"
|
|
)
|
|
comment = models.TextField(blank=True, null=True)
|
|
price = models.DecimalField(max_digits=30, decimal_places=2, default=0)
|
|
price_paid = models.DecimalField(
|
|
max_digits=30, decimal_places=2, default=0
|
|
)
|
|
debt = models.DecimalField(max_digits=30, decimal_places=2, default=0)
|
|
location_id = models.ForeignKey(
|
|
Location, on_delete=models.CASCADE, null=True
|
|
)
|
|
count = models.IntegerField(null=True, blank=True, default=0)
|
|
|
|
def __str__(self):
|
|
return f"Order - {self.id}, status - {self.status}"
|
|
|
|
class Meta:
|
|
verbose_name = "Order"
|
|
verbose_name_plural = "Orders"
|
|
db_table = "order"
|