Tôi có hai mô hình liên quan với nhau bằng cách sử dụng ForeignKey và related_name được sử dụng. Đây là một ví dụ.Sử dụng related_name đúng trong Django
class Student(models.Model):
name = models.CharField(max_length=255)
birthday = models.DateField(blank=True)
class Class(models.Model):
name = models.CharField(max_length=255)
student = models.ForeignKey(Student,
related_name='classes',
null=True)
def __unicode__(self):
return self.name
Ví dụ: tôi muốn truy cập tên lớp học.
Đây là những gì tôi đã thử.
john = Student.objects.get(username = 'john')
print john.classes.name
không có gì được in.
Nhưng khi tôi cố gắng john.classes
tôi nhận được đối tượng django.db.models.fields.related.RelatedManager tại 0x109911410. Điều này cho thấy rằng chúng có liên quan. Nhưng tôi muốn lấy tên lớp.
Tôi đang làm gì sai? Làm thế nào để tôi truy cập tên của lớp bằng cách sử dụng related_name? Cần một số hướng dẫn.
chỉ có một lớp cho mỗi trẻ. thì tại sao không john.classes.name? – lakesh
giải pháp của bạn hoạt động nhưng muốn biết tại sao john.classes.name không hoạt động? – lakesh
Vì ForeignKey tạo một số lớp cho một trẻ, không phải một lớp. Nếu bạn chỉ muốn một lớp sử dụng trường onetoone. – sergzach