result.py 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. from django.db import models
  2. import os, errno
  3. from api.utils import *
  4. class ResultManager(models.Manager):
  5. def statistic(self, user):
  6. results = user.own_results.all()
  7. return {
  8. 'amount': len(results),
  9. }
  10. class Result(models.Model):
  11. name = models.CharField(default="untitled", max_length=64)
  12. create_time = models.DateTimeField(auto_now_add=True)
  13. update_time = models.DateTimeField(auto_now=True)
  14. nodeFile = models.ForeignKey(to="api.File", on_delete=models.CASCADE, related_name="own_results_node")
  15. edgeFile = models.ForeignKey(to="api.File", on_delete=models.CASCADE, related_name="own_results_edge")
  16. # 注意plan和result的一对一,反向名为单数形式
  17. plan = models.OneToOneField(to="api.plan", on_delete=models.DO_NOTHING, related_name="own_result")
  18. mission = models.ForeignKey(to="api.Mission", on_delete=models.CASCADE, related_name="own_results")
  19. user = models.ForeignKey(to="api.User", on_delete=models.CASCADE, related_name='own_results')
  20. objects = ResultManager()
  21. class Meta:
  22. app_label = 'api'