Django Сериализация поля из другой модели
У меня 3 таких модели:
class Category(ClassModelo):
description = models.CharField(
max_length=100,
unique=True
)
class SubCategory(ClassModelo):
pk_category = models.ForeignKey(Category, on_delete=models.CASCADE)
description = models.CharField(
max_length=100,
)
class Product(ClassModelo):
code = models.CharField(
description = models.CharField(max_length=200)
pk_subcategory = models.ForeignKey(SubCategory, on_delete=models.CASCADE
)
и я хотел бы сериализовать поле description в Category Model, я пробовал с приведенным ниже кодом, но он не работает (category = serializers.ReadOnlyField(source='pk_subcategory__pk_category_description'):
).class ProductsSerializer(serializers.ModelSerializer):
subcategory = serializers.ReadOnlyField(
source='pk_subcategory.description')
category = serializers.ReadOnlyField(source='pk_subcategory__pk_category_description')
class Meta:
model = Product
fields = ("id", "description", "category", "subcategory")
Используйте пунктирную нотацию в с source
параметром. Таким образом, это должно быть
pk_subcategory.pk_category.description
вместо pk_subcategory__pk_category_description