我正在尝试将超链接添加到具有特定“类别”ID 的“帖子”列表
我尝试构建的 URL 是/categories/
模型.py
class Categories(models.Model):
....
idcategories = models.AutoField(db_column='idCategories', primary_key=True)
class Postings(models.Model):
idpostings = models.AutoField(db_column='idPostings', primary_key=True) # Field name made lowercase.
idcategories = models.ForeignKey(Categories, db_column='idCategories') # Field name made lowercase.
....
序列化器.py
class CategorySerializer(serializers.HyperlinkedModelSerializer):
postings = serializers.HyperlinkedRelatedField(many=True, view_name='postings-detail', read_only=True)
class Meta:
model = models.Categories
fields = ('url', 'idcategories', 'categoriesname', 'categoryimageurl', 'postings')
View .py
url(r'postings/(?P<pk>[0-9]+)/$', postings_detail, name='postings-detail'),
我设置了适当的 View ,如果我删除 CategorySerializer 上的 HyperlinkedRelatedField,该 View 就可以工作
基本上我想要:
JSON:
categoryname : <name>,
postings : [<list_of_postings>]
因此,使用上面的代码,我收到以下错误:
/categories/处的属性错误 “类别”对象没有属性“帖子”
最佳答案
默认情况下,DRF 将通过模型中没有的帖子名称查看相关对象。
将 idcategories lated_name
设置为“postings”,或者在序列化程序的 posts 中使用源序列化程序的字段参数 source
并将其设置为“postings_set”。
关于django - 对象没有属性 - HyperlinkedRelatedField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33686220/