Как показать детальное представление Serialize в проекте Django
В моем проекте Django есть Категория и Подкатегория. Под каждой Категорией есть несколько элементов Подкатегории. Я хочу показать все элементы подкатегории под категорией. Я смог показать все элементы категории под одним пользователем, но не знаю, как отфильтровать элементы подкатегории, относящиеся к той же категории.
Вот models.py
class Category(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
class SubCategory(models.Model):
category= models.ForeignKey(Category, on_delete=models.CASCADE, related_name='SubCategory')
Вот serializers.py
class Categoryerializer(serializers.ModelSerializer):
user = serializers.CharField(source="user.username", read_only=True)
class Meta:
model= Category
fields = '__all__'
class SubCategorySerializer(serializers.ModelSerializer):
class Meta:
model= SubCategory
fields = '__all__'
Вот мнения:
@api_view(['GET'])
@permission_classes([AllowAny])
def getCategory(request, **kwargs):
user = get_object_or_404(User, username=request.user)
category =Category.objects.filter(user=user)
serializer = categoryserializer(category, many=True)
return Response(serializer.data)
@api_view(['GET'])
@permission_classes([AllowAny])
def getSubCategory(request, id,**kwargs):
user = get_object_or_404(User, username=request.user)
category =Category.objects.filter(user=user, id=id)
subcategory =SubCategory.objects.filter(category_id=id)
serializer = SubCategorySerializer(subcategory, many=True)
return Response(serializer.data)
Вот ссылки:
urlpatterns = [
path('<str:username>/category/', views.getCategory, name='api_category'),
path('<str:username>/category_details/<int:id>/', views.getSubCategory, name='api_subcategory'),
Мой вопрос, как я могу показать элементы каждой подкатегории, которая связана с определенной категорией