0
我有3个模型book, language, book_language
。当我试图让书单我无法获得相关的语言与django_rest_framework
Django Rest Framework - 使用反向查找获取数据不起作用
models.py
class Book(models.Model):
title = models.CharField(max_length=200)
year = models.IntegerField()
class Language(models.Model):
language_name = models.CharField(max_length=100)
class Book_language(models.Model):
book = models.ForeignKey(Book)
language = models.ForeignKey(Language)
serializers.py
class BookLanguageSerializer(serializers.ModelSerializer):
class Meta:
model = Book_language
fields = ('id', 'language',)
class BookSerializer(serializers.ModelSerializer):
languages = BookLanguageSerializer(source='language_set')
class Meta:
model = Book
fields = ('id', 'title', 'languages')
所需的输出继电器:
[{
id: 1,
title: 'some book 1',
languages: [
{
id: 1,
language: 'english'
},
{
id: 2,
language: 'chinese'
}
]
},
{
id: 2,
title: 'some book 2',
languages: [
{
id: 1,
language: 'english'
},
{
id: 2,
language: 'chinese'
}
]
}]
而不是上面的输出,我只是得到没有像下面的语言数组的书籍列表。
[{
id: 1,
title: 'some book 1',
},
{
id: 2,
title: 'some book 2',
}]
而且引导我在哪里可以找到更好的例子,我想读DRF doc但它不是初学者友好。
我得到这个错误'Book对象具有当我使用多=真 – Srinivas
有一个基本没有属性“language_set'.'您的模型中存在缺陷。我可以知道,为什么你没有把语言作为外语在书中? –
我猜,一本书可以有多种语言?对?那么,在这种情况下,你应该使用多对多的领域。 –