Python Django-只能将str(而不是“ManyRelatedManager”)连接到str
我正试图保存我的模型。但是当我试图保存我的模型时,我抛出了以下错误Python Django-只能将str(而不是“ManyRelatedManager”)连接到str,python,django,Python,Django,我正试图保存我的模型。但是当我试图保存我的模型时,我抛出了以下错误 TypeError at /admin/user/teacher/add/ can only concatenate str (not "ManyRelatedManager") to str 我的models.py文件如下所示 class Class(models.Model): Class = models.CharField(max_length=50) section_choices = (('
TypeError at /admin/user/teacher/add/
can only concatenate str (not "ManyRelatedManager") to str
我的models.py文件如下所示
class Class(models.Model):
Class = models.CharField(max_length=50)
section_choices = (('A','A'),('B','B'),('C','C'),('D','D'),('E','E'))
Section = models.CharField(max_length=100, choices=section_choices)
def __str__(self):
return self.Class + "," + self.Section
class Subject(models.Model):
subject = models.CharField(max_length=100)
def __str__(self):
return self.subject
class Teacher(models.Model):
User = models.ForeignKey(User, on_delete=models.CASCADE)
Subject = models.ManyToManyField(Subject)
Name = models.CharField(max_length=50)
Profile = models.ImageField(upload_to = upload_teacher_profile_to, default =
'defaults/teacher_profile.png')
Class = models.ManyToManyField(Class)
Number = models.IntegerField(blank=True)
is_banned = models.BooleanField(default=False)
def __str__(self):
return self.Name + "of" + self.Class
将您的教师模型
def\uu str\uu(self)
函数更新为
def\uuuu str\uuuuuu(自):
返回{[class for class in self.class.all()]中的类的{self.Name}”
类是教师模型中的多个字段,多个字段可以包含多个对象,因此不能使用self.Class
您可以进一步了解ManyToManyField您认为“+self.Class的这一行
self.Name+”应该做什么Class
是一个ManyToManyField
,因此对于Teacher
的实例,它是一个ManyRelatedManager
。注意:也请不要使用PascalCase
约定命名属性/变量,请使用snake\u case
参见