Django从一个模型到另一个模型访问特定字段

2024-09-30 12:16:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在管理面板中为不同的模型创建一个状态字段,它应该从名为Students的主模型继承该属性:

class Students(models.Model):
Username = models.ForeignKey(User)
FirstName = models.CharField(max_length=50)
LastName = models.CharField(max_length=50)
Group = models.CharField(max_length=4)
status = models.CharField(max_length=1,null=True, choices=STATUS_CHOICES, default='n')
def __str__(self):
    return str(self.Username) + ' ' + self.FirstName +' ' + self.LastName

在CatalogStudentsFirstYear中,我只想在状态中存储学生的状态值

class CatalogStudentsFirstYear(models.Model):
    catalogFirstYear = models.ForeignKey(CatalogFirstYear)
    student = models.ForeignKey(Students)
    grade = models.IntegerField(blank=True, null=True)
    status = 

    def __str__(self):
        return str(self.catalogFirstYear) +' ' + str(self.student)

并将其添加到admin.py,如下所示:

list_display = ["student", "catalogFirstYear", "grade", "status"]

这是学生管理面板中的样子 enter image description here

这就是当前目录学生第一季的样子enter image description here

你能建议我如何创建一个FK,它只接受学生的状态文件,并将其存储在目录studentsfirstylear中吗

谢谢


Tags: selftrue面板modelsstatuslengthstudent学生
1条回答
网友
1楼 · 发布于 2024-09-30 12:16:07

您可以添加status作为模型属性:

class CatalogStudentsFirstYear(models.Model):
    catalogFirstYear = models.ForeignKey(CatalogFirstYear)
    student = models.ForeignKey(Students)
    grade = models.IntegerField(blank=True, null=True)

    def __str__(self):
        return str(self.catalogFirstYear) +' ' + str(self.student)

    @property
    def status(self):
        return self.student.status 

并将此属性添加到管理员的list_display

list_display = ["student", "catalogFirstYear", "grade", "status"]

相关问题 更多 >

    热门问题