35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
from django.db import models
|
|
from utils.base_model import BaseModel
|
|
import uuid
|
|
from apps.workspace.models import Workspace as WorkspaceModel
|
|
from apps.cuser.models import CuserRole as CuserRoleModel
|
|
# Create your models here.
|
|
|
|
|
|
class CustomForm(BaseModel):
|
|
name = models.CharField(max_length=40, null=False, blank=False)
|
|
desc = models.CharField(max_length=50, null=True, blank=True)
|
|
sys_ws = models.ForeignKey(WorkspaceModel, on_delete=models.CASCADE)
|
|
|
|
def __str__(self):
|
|
return f'{self.name}'
|
|
|
|
|
|
class CustomFormField(BaseModel):
|
|
form = models.ForeignKey(CustomForm, on_delete=models.CASCADE, related_name='field')
|
|
field_name_fa = models.CharField(max_length=20, null=False, blank=False)
|
|
field_name_en = models.CharField(max_length=20, null=False, blank=False)
|
|
validator = models.CharField(max_length=50, null=True, blank=True)
|
|
|
|
def __str__(self):
|
|
return f'{self.form} -> {self.field_name_en}'
|
|
|
|
|
|
class CustomFormData(BaseModel):
|
|
form = models.ForeignKey(CustomForm, on_delete=models.CASCADE)
|
|
form_filler = models.ForeignKey(CuserRoleModel, on_delete=models.CASCADE)
|
|
data = models.JSONField(null=False, blank=False)
|
|
|
|
def __str__(self):
|
|
return f'{self.form} -> {self.field_name_en}'
|