I want see on my get request no id of related tables, I try to get the value of colum, but when I tried to do it I got this errors
models.py
PH = "PHONE"
FACE = "FACEBOOK"
EM = "EMAIL"
TYPE_CHOICES = (
(PH, "Phone"),
(FACE, "Facebook"),
(EM, "Email")
)
class Category(models.Model):
name = models.CharField(max_length=1300)
img_path = models.CharField(max_length=100)
def __str__(self):
return self.name
class Branch(models.Model):
latitude = models.CharField(max_length=200)
longitude = models.CharField(max_length=200)
address = models.CharField(max_length=200)
def __str__(self):
return self.address
class Contact(models.Model):
type = models.CharField(max_length=10, choices=TYPE_CHOICES, default=EM)
value = models.CharField(max_length=150)
def __str__(self):
return self.value
class Course(models.Model):
name = models.CharField(max_length=200)
description = models.TextField()
category = models.ForeignKey(Category, on_delete=models.SET_NULL, null=True,
related_name='courses') # если удалим поле категории то поле будет Null
logo = models.CharField(max_length=120)
contact = models.ForeignKey(Contact, on_delete=models.CASCADE)
branch = models.ForeignKey(Branch, on_delete=models.CASCADE)
def __str__(self):
return self.name
Serializers.py
class CourseListSerializer(serializers.ModelSerializer):
categories = serializers.SlugRelatedField(slug_field='name', read_only=True)
branch = serializers.SlugRelatedField(slug_field='address', read_only=True, many=True)
contacts = serializers.SlugRelatedField(slug_field='value', read_only=True)
class Meta:
model = Course
fields = '__all__'
Traceback
-----------------
File "C:\Users\Азамат\AppData\Local\Programs\Python\Python38-32\lib\site-packages\rest
_framework\serializers.py", line 678, in <listcomp>
self.child.to_representation(item) for item in iterable
File "C:\Users\Азамат\AppData\Local\Programs\Python\Python38-32\lib\site-packages\rest
_framework\serializers.py", line 529, in to_representation
ret[field.field_name] = field.to_representation(attribute)
File "C:\Users\Азамат\AppData\Local\Programs\Python\Python38-32\lib\site-packages\rest
_framework\relations.py", line 533, in to_representation
return [
TypeError: 'Branch' object is not iterable
[15/Jul/2020 14:36:33] "GET /courses/ HTTP/1.1" 500 121986