How to filter and get all vendor details using category

13 views
Skip to first unread message

Gautam Ankul

unread,
Dec 8, 2021, 8:59:55 AM12/8/21
to Django users
Here is my models

class Vendor(models.Model):
category_id = models.ForeignKey(
Category,
blank=True,
null=True,
verbose_name=u"Category id",
on_delete=models.CASCADE,
)
vendor_id = models.CharField(
unique=True, max_length=50, blank=False, null=False, verbose_name=u"Vendor Id",
)
vendor_name = models.CharField(
max_length=50, blank=False, null=False, verbose_name=u"Vendor name"
)
vendor_password = models.CharField(
max_length=50, blank=False, null=False, verbose_name=u"Vendor password"
)
vendor_avg_rating = models.DecimalField(
validators=[MinValueValidator(0.0), MaxValueValidator(5.0)],
max_digits=3,
decimal_places=2,
blank=True,
null=True,
verbose_name=u"Vendor average rating",
)
vendor_tokens = models.TextField(
default="[]", blank=True, null=True, verbose_name=u"Vendor tokens",

for category:

class Category(models.Model):
category_name = models.CharField(
max_length=50, blank=False, null=False, verbose_name=u"Category name"
)

def __str__(self):
return self.category_name

class Meta:
verbose_name_plural = "Categories"

and serializer is here

class VendorSerializer(serializers.ModelSerializer):
class Meta:
model = Vendor
fields = ["vendor_id","vendor_name","vendor_location"]

and i want that type of result:

{
    "ErroeCode": "0",
    "status": 200,
    "message": "Get vendor details successfully",
    "Items": [
        {
            "vendor_id": "1",
            "vendor_name": "ankul gautam"
        },
        {
            "vendor_id": "2",
            "vendor_name": "deepak kush"



Sencer Hamarat

unread,
Dec 8, 2021, 10:01:40 AM12/8/21
to django...@googlegroups.com
Hi,

You need to create a Category serializer an append it to VendorSerializer

class CategorySerializer(serializers.ModelSerializer):
    class Meta:
        model = Category
        fields = ["category_name", ]


class VendorSerializer(serializers.ModelSerializer):
    category = CategorySerializer()
    class Meta:
        model = Vendor
        fields = ["vendor_id", "vendor_name", "vendor_location", "category"]

You can filter by category now.


Regards,
Sencer HAMARAT



--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/f655e8c6-cc5e-404a-883d-b715118c6a1bn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages