File size: 1,152 Bytes
b4f2238
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
"""Module for folder binding."""

from __future__ import annotations

from typing import ClassVar

from django.db import models
from django.utils.translation import gettext_lazy as _

from .contract import Contract


class ContractFolderBinding(models.Model):
    """合同文件夹绑定"""

    id: int
    contract_id: int
    contract = models.OneToOneField(
        Contract, on_delete=models.CASCADE, related_name="folder_binding", verbose_name=_("合同")
    )
    folder_path = models.CharField(
        max_length=1000, verbose_name=_("文件夹路径"), help_text=_("绑定的本地或网络文件夹路径")
    )
    created_at = models.DateTimeField(auto_now_add=True, verbose_name=_("绑定时间"))
    updated_at = models.DateTimeField(auto_now=True, verbose_name=_("更新时间"))

    class Meta:
        verbose_name = _("合同文件夹绑定")
        verbose_name_plural = _("合同文件夹绑定")
        indexes: ClassVar = [
            models.Index(fields=["contract"]),
            models.Index(fields=["-created_at"]),
        ]

    def __str__(self) -> str:
        return f"{self.contract.name} - {self.folder_path}"