我希望我的标题足以回答我的问题,当我从模型(studentDiscount)单击报告时,我只想获取模型的ID(StudentProfile),我的错误是来自admin.py中的这一行 obj.Students_Enrollment_Records__Student_Users.pk 我不知道这是否正确。
@admin.register(studentDiscount)
class studentDiscount(admin.ModelAdmin):
list_display = ('Students_Enrollment_Records', 'Discount_Type','my_url_field')
ordering = ('Students_Enrollment_Records',)
search_fields = ('Students_Enrollment_Records',)
def my_url_field(self, obj):
return format_html("<a href='https://www.ucc.ph/enrollmentform/?StudentID={}'>Report", obj.Students_Enrollment_Records__Student_Users.pk)
my_url_field.allow_tags = False
my_url_field.short_description = 'Report'
models.py
class StudentProfile(models.Model):
Image = models.ImageField(upload_to='images',null=True,blank=True)
Username = models.CharField(max_length=500,null=True,blank=True)
Password = models.CharField(max_length=500,null=True,blank=True)
lrn = models.CharField(max_length=500,null=True)
Firstname = models.CharField(max_length=500,null=True,blank=True)
Middle_Initial = models.CharField(max_length=500,null=True,blank=True)
Lastname = models.CharField(max_length=500,null=True,blank=True)
class StudentsEnrollmentRecord(models.Model):
Student_Users = models.ForeignKey(StudentProfile, related_name='students', on_delete=models.CASCADE,null=True)
School_Year = models.ForeignKey(SchoolYear, related_name='+', on_delete=models.CASCADE, null=True, blank=True)
Courses = models.ForeignKey(Course, related_name='+', on_delete=models.CASCADE, null=True, blank=True)
Section = models.ForeignKey(Section, related_name='+', on_delete=models.CASCADE, null=True,blank=True)
class studentDiscount(models.Model):
Students_Enrollment_Records = models.ForeignKey(StudentsEnrollmentRecord, related_name='+',
on_delete=models.CASCADE, null=True)
Discount_Type = models.ForeignKey(Discount, related_name='+', on_delete=models.CASCADE, null=True,blank=True)