【问题标题】:Retrieve Django rest framework related fields检索 Django REST 框架相关字段
【发布时间】:2013-03-06 19:32:58
【问题描述】:

使用django-rest-framework 可以从相关字段中检索内容。因此,例如,我想创建一个流派列表,其中包含其中的所有项目。这就是我所拥有的,但我不断收到错误:

“流派”对象没有属性“project_set”

models.py

class Genre(models.Model):
    name = models.CharField(max_length=100, db_index=True)

class Project(models.Model):
    title = models.CharField(max_length=100, unique=True)
    genres = models.ManyToManyField(Genre, related_name='genres')

序列化器.py

class GenreSerializer(serializers.ModelSerializer):    
    project_set = serializers.ManyRelatedField()

    class Meta:
        model = Genre
        fields = ('name', 'project_set')

【问题讨论】:

    标签: python django django-rest-framework


    【解决方案1】:

    您在Project 类中使用的相关名称命名错误。该相关名称是您访问与给定类型实例相关的项目集的方式。所以你应该使用related_name='projects'之类的东西。 (因为它是你搞错了。)

    然后确保您的序列化程序类与您正在使用的相关名称匹配,因此在这两个地方 project_set 应该改为 projects

    (或者,您可以完全删除related_name='genres',一切都会按您的预期进行,因为默认的related_name 将是'project_set'。)

    【讨论】:

      猜你喜欢
      • 2017-02-04
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-09
      • 2015-08-24
      相关资源
      最近更新 更多