Download apps/oa_filing/models/filing_session.py from jun2024/fc: direct link, hf CLI and curl.
- Browser
- Download file 2.53 kB
-
https://huggingface.co/spaces/jun2024/fc/resolve/main/apps/oa_filing/models/filing_session.py
- Command line
-
hf download hf://spaces/jun2024/fc/apps/oa_filing/models/filing_session.py
-
curl -L -o filing_session.py https://huggingface.co/spaces/jun2024/fc/resolve/main/apps/oa_filing/models/filing_session.py
2.53 kB
| from __future__ import annotations | |
| from typing import Any, ClassVar | |
| from django.db import models | |
| from django.utils.translation import gettext_lazy as _ | |
| class SessionStatus(models.TextChoices): | |
| PENDING = "pending", _("待开始") | |
| IN_PROGRESS = "in_progress", _("进行中") | |
| COMPLETED = "completed", _("已完成") | |
| FAILED = "failed", _("失败") | |
| CANCELLED = "cancelled", _("已取消") | |
| class FilingSession(models.Model): | |
| """OA立案执行记录""" | |
| id: int | |
| contract: Any = models.ForeignKey( | |
| "contracts.Contract", | |
| on_delete=models.CASCADE, | |
| related_name="filing_sessions", | |
| verbose_name=_("合同"), | |
| ) | |
| case: Any = models.ForeignKey( | |
| "cases.Case", | |
| on_delete=models.CASCADE, | |
| null=True, | |
| blank=True, | |
| related_name="filing_sessions", | |
| verbose_name=_("案件"), | |
| ) | |
| oa_config: Any = models.ForeignKey( | |
| "oa_filing.OAConfig", | |
| on_delete=models.SET_NULL, | |
| null=True, | |
| blank=True, | |
| related_name="filing_sessions", | |
| verbose_name=_("OA配置"), | |
| ) | |
| credential: Any = models.ForeignKey( | |
| "organization.AccountCredential", | |
| on_delete=models.SET_NULL, | |
| null=True, | |
| related_name="filing_sessions", | |
| verbose_name=_("登录凭证"), | |
| ) | |
| user: Any = models.ForeignKey( | |
| "organization.Lawyer", | |
| on_delete=models.CASCADE, | |
| related_name="filing_sessions", | |
| verbose_name=_("发起用户"), | |
| ) | |
| status: str = models.CharField( # type: ignore[assignment] | |
| max_length=16, | |
| choices=SessionStatus.choices, | |
| default=SessionStatus.PENDING, | |
| verbose_name=_("状态"), | |
| ) | |
| error_message: str = models.TextField( # type: ignore[assignment] | |
| blank=True, | |
| default="", | |
| verbose_name=_("错误信息"), | |
| ) | |
| created_at: Any = models.DateTimeField( | |
| auto_now_add=True, | |
| verbose_name=_("创建时间"), | |
| ) | |
| updated_at: Any = models.DateTimeField( | |
| auto_now=True, | |
| verbose_name=_("更新时间"), | |
| ) | |
| class Meta: | |
| verbose_name = _("立案记录") | |
| verbose_name_plural = _("立案记录") | |
| indexes: ClassVar = [ | |
| models.Index(fields=["contract", "-created_at"]), | |
| models.Index(fields=["user", "-created_at"]), | |
| models.Index(fields=["status", "-created_at"]), | |
| ] | |
| def __str__(self) -> str: | |
| return f"FilingSession #{self.id} - {self.status}" | |