Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对多个父对象的访问_Python_Django - Fatal编程技术网

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?回顾可以有很多部分!