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'.'您的模型中存在缺陷。我可以知道,爲什麼你沒有把語言作爲外語在書中? –
我猜,一本書可以有多種語言?對?那麼,在這種情況下,你應該使用多對多的領域。 –