# coding=utf-8 from django.db import models from django.conf import settings from django.utils import timezone from apps.option.models import Option from apps.customer.models import NewCustomer class Order(models.Model): NORMAL = 1 ABANDONED = 2 STATUS_CHOICES = ( (NORMAL, u'正常'), (ABANDONED, u'放弃'), ) no = models.CharField(max_length=50, verbose_name='单号', blank=True) project = models.ManyToManyField(Option, verbose_name=u'项目', related_name='order_category', editable=False) stage_progress = models.ForeignKey(Option, verbose_name=u'阶段进度', related_name='order_stage_progress', on_delete=models.PROTECT) customer = models.ForeignKey(NewCustomer, related_name='order_customer', verbose_name=u"订单客户", on_delete=models.PROTECT) service_user = models.ForeignKey(settings.AUTH_USER_MODEL,related_name='order_service_user', verbose_name=u"服务人员", on_delete=models.PROTECT) create_time = models.DateTimeField(verbose_name=u'下单时间', auto_now_add=True, editable=False) status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u"订单状态", default=NORMAL) class Meta: db_table = "order" verbose_name = u"订单管理" ordering = ('-id',) default_permissions = () permissions = [ ('view_order', u'查看'), ] def get_no(self): now = timezone.now() no = '%s%d-%s' % ('DD', self.service_user.id, now.strftime('%Y%m%d%H%M%S')) return no