Python 对多个父对象的访问
我有两门课:Python 对多个父对象的访问,python,django,Python,Django,我有两门课: class Part(models.Model): title = models.CharField(max_length=64) content = models.TextField() def __str__(self): return self.title class Review(models.Model): title = models.CharField(max_length=64)
class Part(models.Model):
title = models.CharField(max_length=64)
content = models.TextField()
def __str__(self):
return self.title
class Review(models.Model):
title = models.CharField(max_length=64)
parts = models.ManyToManyField(Part)
def __str__(self):
return self.title
在部分的管理中,我想在list\u display
中显示评论标题。我试过这个:
class PartAdmin(admin.ModelAdmin):
list_display = ("title", "get_review")
def get_review(self, obj):
return obj.review_set.title
get_review.admin_order_field = "part__review_set__title"
get_review.short_description = "Review title"
admin.site.register(Part, PartAdmin)
我以为我可以通过review\u set
访问父对象,但我得到了一个AttributeError:
'ManyRelatedManager' object has no attribute 'title'
如何访问父对象以在
列表\u display
中显示它 我认为应该将其定义为外键,而不是m2m。事实上,它是一个多对多关系,这意味着可以有多个与零件相关的评审。这就是为什么你不能为一篇评论获取标题review\u set
为您提供了一个manager对象,而不是一个单一的review对象。为什么是ForeignKey?回顾可以有很多部分!我认为应该将其定义为外键,而不是m2m。事实上,它是一个多对多关系,这意味着可以有多个与零件相关的评审。这就是为什么你不能为一篇评论获取标题review\u set
为您提供了一个manager对象,而不是一个单一的review对象。为什么是ForeignKey?回顾可以有很多部分!