models.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. STATUS_CHOICES = (
  11. (NORMAL, u'正常'),
  12. (ABANDONED, u'放弃'),
  13. )
  14. no = models.CharField(max_length=50, verbose_name='单号', blank=True)
  15. project = models.ManyToManyField(Option, verbose_name=u'项目', related_name='order_category', editable=False)
  16. stage_progress = models.ForeignKey(Option, verbose_name=u'阶段进度', related_name='order_stage_progress',
  17. on_delete=models.PROTECT)
  18. customer = models.ForeignKey(NewCustomer, related_name='order_customer', verbose_name=u"订单客户",
  19. on_delete=models.PROTECT)
  20. service_user = models.ForeignKey(settings.AUTH_USER_MODEL,related_name='order_service_user', verbose_name=u"服务人员",
  21. on_delete=models.PROTECT)
  22. create_time = models.DateTimeField(verbose_name=u'下单时间', auto_now_add=True, editable=False)
  23. status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u"订单状态", default=NORMAL)
  24. class Meta:
  25. db_table = "order"
  26. verbose_name = u"订单管理"
  27. ordering = ('-id',)
  28. default_permissions = ()
  29. permissions = [
  30. ('view_order', u'查看'),
  31. ]
  32. def get_no(self):
  33. now = timezone.now()
  34. no = '%s%d-%s' % ('DD', self.service_user.id, now.strftime('%Y%m%d%H%M%S'))
  35. return no