我在Django项目中有两个应用程序,然后在它们之间创建了ManytoManyField关系。但是,当我在管理站点上对其进行检查时,会出现引用,其中在“多对多”框中显示了型号名称和对象。
我已经尝试在模型中编写 str ,如下所示:
Select-Object
下面是我的模型代码。
Get-ADUser
答案 0 :(得分:2)
表单的此部分用于编辑ManyToManyField
。它将使用所引用模型的__str__
。
为了更改文本表示形式,您需要实现__str__
模型的Course
,例如:
class Course(models.Model): # Course model, not Person
name = models.CharField(max_length=128)
def __str__(self):
return self.name
将某人的__str__
设置为self.course.name
似乎并不正确,因为您可能不想用其课程的名称来表示Person
。此外,由于这是ManyToManyField
,因此还是无法使用。
注意:通常
ManyToManyField
的名称是复数,所以courses
而不是course
,因为它是基本上是Course
的集合,而不是单个Course
。