Я хочу получить значения внешнего ключа в PUT и GET, но при использовании many=True
я получаю ошибку TypeError object is not iterable
. Ниже приведены мои фрагменты.many = True TypeError object is not itable
У меня есть две модели под названием MasterStatus и MasterType. В MasterType у меня есть значения внешнего ключа MasterStatus.
models.py
class MasterType(models.Model):
id = models.BigIntegerField(primary_key=True)
type_name = models.CharField(max_length=255, blank=True, null=True)
fk_status = models.ForeignKey(MasterStatus)
def __unicode__(self):
return u'%s' % (self.type_name)
class Meta:
managed = False
db_table = 'master_type'
В сериализаторе Я использую many=True
получить вложенные значения ForeignKey. Здесь я использовал сериализатор PrimaryKeyRelatedField.
serializer.py
class MasterTypeSerializer(serializers.HyperlinkedModelSerializer):
fk_status = serializers.PrimaryKeyRelatedField(queryset=MasterStatus.objects.all(),many=True)
class Meta:
model = MasterType
fields = ('id', 'type_name', 'fk_status', 'last_modified_date', 'last_modified_by')
depth = 2
Я не уверен, связано ли это с проблемой, но почему «MasterTypeSerializer.Meta.model = MasterRepaymentType»? Какова девизация этой модели «MasterRepaymentType»? – Todor
извините ошибочно напечатано. я исправил MasterRepaymentType до MasterType – somechow