Download apps/contracts/models/finance.py from jun2024/fc: direct link, hf CLI and curl.
- Browser
- Download file 1.44 kB
-
https://huggingface.co/spaces/jun2024/fc/resolve/main/apps/contracts/models/finance.py
- Command line
-
hf download hf://spaces/jun2024/fc/apps/contracts/models/finance.py
-
curl -L -o finance.py https://huggingface.co/spaces/jun2024/fc/resolve/main/apps/contracts/models/finance.py
1.44 kB
| """Module for finance.""" | |
| from __future__ import annotations | |
| from typing import Any, ClassVar | |
| from django.db import models | |
| from django.utils.translation import gettext_lazy as _ | |
| from .contract import Contract | |
| class LogLevel(models.TextChoices): | |
| INFO = "INFO", _("信息") | |
| WARN = "WARN", _("预警") | |
| ERROR = "ERROR", _("错误") | |
| class ContractFinanceLog(models.Model): | |
| id: int | |
| contract_id: int | |
| actor_id: int | |
| contract = models.ForeignKey( | |
| Contract, on_delete=models.CASCADE, related_name="finance_logs", verbose_name=_("合同") | |
| ) | |
| action = models.CharField(max_length=64, verbose_name=_("动作")) | |
| level = models.CharField(max_length=16, choices=LogLevel.choices, default=LogLevel.INFO, verbose_name=_("级别")) | |
| actor = models.ForeignKey( | |
| "organization.Lawyer", on_delete=models.PROTECT, related_name="finance_logs", verbose_name=_("操作者") | |
| ) | |
| payload: Any = models.JSONField(default=dict, blank=True, verbose_name=_("数据")) | |
| created_at = models.DateTimeField(auto_now_add=True, verbose_name=_("创建时间")) | |
| class Meta: | |
| verbose_name = _("财务日志") | |
| verbose_name_plural = _("财务日志") | |
| indexes: ClassVar = [ | |
| models.Index(fields=["contract", "created_at"]), | |
| models.Index(fields=["level"]), | |
| ] | |
| def __str__(self) -> str: | |
| return f"{self.contract_id}-{self.action}-{self.level}" | |