2016-09-15 34 views
1

ををstrには「DeferredAttribute」オブジェクトを変換できません:は、暗黙のうちに

def __str__(self): 
    return self.student_subject + " " + Student.last_name 

私は上記のエラーメッセージが表示されました。ここ は全体のDjangoコードです:

from django.db import models 

# Create your models here. 


class Student(models.Model): 
    first_name = models.CharField(max_length=15) 
    last_name = models.CharField(max_length=15) 
    age = models.IntegerField(default=0) 
    birth_date = models.DateTimeField() 

    def __str__(self): 
     return self.first_name + " " + self.last_name 


class Degree(models.Model): 
    student_id = models.ForeignKey(Student, on_delete=models.CASCADE) 
    student_subject = models.CharField(max_length=150) 
    student_degree = models.IntegerField(default=0) 

    def __str__(self): 
     return self.student_subject + " " + Student.last_name 

私は上記のクラスの学生 からのリターンをinheriteしようとしているとここでエラーメッセージであるため、エラーが起こっている:

TypeError at /admin/sellingportal/degree/ 

Can't convert 'DeferredAttribute' object to str implicitly 

Request Method:  GET 
Request URL: http://127.0.0.1:8000/admin/sellingportal/degree/ 
Django Version:  1.10.1 
Exception Type:  TypeError 
Exception Value:  

Can't convert 'DeferredAttribute' object to str implicitly 

Exception Location:  C:\Users\Muham\PycharmProjects\managementsite\managementstudio\sellingportal\models.py in __str__, line 22 
Python Executable: C:\Python34\python.exe 
Python Version:  3.4.4 
Python Path:  

['C:\\Users\\Muham\\PycharmProjects\\managementsite\\managementstudio', 
'C:\\Windows\\SYSTEM32\\python34.zip', 
'C:\\Python34\\DLLs', 
'C:\\Python34\\lib', 
'C:\\Python34', 
'C:\\Python34\\lib\\site-packages'] 

Server time: Fri, 16 Sep 2016 01:04:08 +0200 

答えて

2

だけにそれを変更します:

すべてが正常である必要があります。

Student.last_nameを設定することはできません。なぜなら、最後の名前を取得する必要があるオブジェクトから表示する必要があるからです。

+1

セバスチャンに感謝します:) –

+0

答えとしてマーク、最高の願い – sebb

関連する問題