models.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # coding=utf-8
  2. from django.db import models
  3. from django.conf import settings
  4. from django.utils import timezone
  5. from apps.option.models import Option
  6. from apps.customer.models import NewCustomer
  7. class Order(models.Model):
  8. NORMAL = 1
  9. ABANDONED = 2
  10. WAIT_DISPATCH = 3
  11. STATUS_CHOICES = (
  12. (NORMAL, u'正常'),
  13. (ABANDONED, u'放弃'),
  14. (WAIT_DISPATCH, u'进度待分配'),
  15. )
  16. no = models.CharField(max_length=50, verbose_name='单号', blank=True)
  17. project = models.ManyToManyField(Option, verbose_name=u'项目', related_name='order_category', editable=False)
  18. stage_progress = models.ForeignKey(Option, verbose_name=u'阶段进度', related_name='order_stage_progress',
  19. on_delete=models.PROTECT)
  20. customer = models.ForeignKey(NewCustomer, related_name='order_customer', verbose_name=u"订单客户",
  21. on_delete=models.PROTECT)
  22. service_user = models.ForeignKey(settings.AUTH_USER_MODEL,related_name='order_service_user', verbose_name=u"服务人员",
  23. on_delete=models.PROTECT)
  24. create_time = models.DateTimeField(verbose_name=u'下单时间', auto_now_add=True, editable=False)
  25. status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u"订单状态", default=NORMAL)
  26. class Meta:
  27. db_table = "order"
  28. verbose_name = u"订单管理"
  29. ordering = ('-id',)
  30. default_permissions = ()
  31. permissions = [
  32. ('view_order', u'查看'),
  33. ('update_order_process', u'更新进度'),
  34. ('order_process_dispatch', u'进度分配'),
  35. ]
  36. def get_no(self):
  37. now = timezone.now()
  38. no = '%s%d-%s' % ('DD', self.service_user.id, now.strftime('%Y%m%d%H%M%S'))
  39. return no