繁体   English   中英

从另一个 django model 获取字段?

[英]Getting a field from another django model?

如何从员工应用程序获取字段 pto 并在权限应用程序中使用它。

员工/models.py

class Employee(AbstractUser):
    department = models.ForeignKey(Department, on_delete=models.CASCADE,blank=True, null=True)
    pto = models.IntegerField(default=20)
    is_deleted = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)
    roles = models.ManyToManyField(Role, related_name='+')

    def __str__(self):
        return self.username

权限/models.py

class Permission(models.Model):
    STATUS = (
        ('PENDING', 'PENDING'),
        ('DENIED', 'DENIED'),
        ('ACCEPTED', 'ACCEPTED')
    )
    user = models.ForeignKey(Employee, on_delete=models.CASCADE, related_name='lorem')
    description = models.CharField(max_length=255)
    date_created = models.DateTimeField(auto_now=True, blank=True, null=True)
    date = models.DateField()
    status = models.CharField(max_length=200, choices=STATUS, default=STATUS[0][0])
    is_deleted = models.BooleanField(default=False)


    def __str__(self):
        return self.description

抱歉,如果不清楚,请提前致谢

将此添加到 class 权限 model

from yourproject.apps.employee.models import Employee

class Permission(models.Model):
    ..........

    def get_pto(self):
        return int(self.user.pto) # if it's floating point number then change int to float

现在您可以在 html 中使用get_pto{{ form.get_pto }}

抱歉,如果这不是您要找的东西,请让我清楚地知道,如果可以,我会尽力回答。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM