راکت

دریافت دسته بندی جنگو از سرور برای فلاتر

2 پاسخ

سلام دوستان من کد json به شکل زیر دارم و میخوام نام دسته بندی رو برای فلاتر دریافت کنم ولی بصورت int هست میشه راهنمایی کنید چجوری نام دسته بندی رو دریافت کنم؟؟

HTTP 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

[
    {
        "id": 1,
        "title": "ارولوژی",
        "body": "مشکلات پروستات در سالمندان",
        "image": "http://127.0.0.1:8000/media/Nurse1.jpg",
        "favorite": false,
        "created": "2022-01-14T14:09:56.381319Z",
        "updated": "2022-01-14T14:14:05.881497Z",
        "author": 1,
        "category": [
            1
        ]
    }
]

مدل در جنگو:

from django.db import models
from django.contrib.auth.models import User

# Create your models here.

class Category(models.Model):
    subCategory = models.ForeignKey("self", default=None, null=True, blank=True, on_delete=models.CASCADE)
    subCat = models.BooleanField(default=False)
    name = models.CharField(max_length=100)
    image = models.ImageField(upload_to='category',null=True)

    def __str__(self):
        return self.name

class Post(models.Model):
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=200)
    body = models.TextField()
    image = models.ImageField(blank=True, default=True)
    favorite = models.BooleanField(default=False)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    category = models.ManyToManyField(Category,blank=True)

    def __str__(self):
        return self.title

با http دریافت میکنم..

ثبت پرسش جدید

پاسخ‌ها

2
reza ataei
reza ataei
@rezaataei54

تخصص: در حال یادگیری.....

سلام.منظورم category هستش که تو مدل نام و تصویر داره ولی تو جیسون آیدیش رو برگردونده

علیرضا ماستری
علیرضا ماستری
@alirezamastery

تخصص: برنامه نویس پایتون و جاوااسکریپت

سلام
احتمالا الان دیگه نیاز ندارید ولی اگر کسی در آینده سرچ کرد
یک راه اینه که یک serializer برای اون فیلد ایجاد بشه:

class CategorySerializer(serializers.ModelSerializer):
    class Meta:
        model = Category
        fields = ['name']

class PostSerializer(serializers.ModelSerializer):
    category = CategorySerializer(read_only=True, many=True)

    class Meta:
        model = Post
        fields = '__all__'

فقط حواستون باشه داخل کوئری ستی که به این سریالایزر میدید category رو کوئری زده باشید.

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام