类型为<model>的对象不可JSON序列化

时间:2018-09-19 20:33:28

标签: python django django-rest-framework

如果我有setInterval(() => {localStorage.setItem("videoTime", vid.currentTime);},1000);Assets的GFK继承模型,它们具有一个asset_id,asset_name和一个Asset.model,OneType.model,SecondType.model,它们均从{{ 1}}模型等...基于this),并且我想为我的Account中的所有资产提供API终结点,我可以(不确定这是否是约定)在Asset模型是扩展不同资产类型的列表:

Account

我需要该帐户的序列化器

Account

我假设每种资产类型

#Account model
@property
def assets(self):
    assets = []
    assets.extend(self.onetype_set.all())
    assets.extend(self.secondtype_set.all())
    …
    return assets

但我不断收到错误消息:class AccountSerializer(serializers.ModelSerializer): # filter to assets for the user def get_queryset(self): return Account.objects.filter(organization=self.request.user) class Meta: model = Account fields = ('assets', ) (我理解该错误意味着我需要将模型序列化为JSON,但我认为该模型将调用该模型的序列化器…。)

由于DRF的Viewset的内部工作原理,堆栈跟踪似乎没有帮助,但这是:

class OneTypeSerializer(serializers.ModelSerializer):
    class Meta:
        model = OneType
        fields = ('asset_id', 'asset_name',)
class SecondTypeSerializer(serializers.ModelSerializer):
    …
…

Viewsets.py:

Object of type 'OneType' is not JSON serializable

还有,这更多是DRF问题(我没有使用正确的查询集)还是python问题(我没有为对象/类提供可序列化的方法/类)?

0 个答案:

没有答案