小编Bog*_*che的帖子

在Django中保存模型时发送当前用户

从Django 1.7升级到1.10以及Django Rest Framework 3.5.4后,我遇到了一个问题.问题是,当我尝试声明凭证时,endopint/calims返回500错误,文本为:IntegrityError at/claims(1048,"Column'user_id'不能为null")

在urls.py中添加如下路由:

url('^claims', v.ClaimList.as_view(), name='claim_list')
Run Code Online (Sandbox Code Playgroud)

而views.py文件中的相关部分是:

class ClaimSerializer(serializers.ModelSerializer):
    company_name = s.ReadOnlyField(source="ad.company.name")
    company_address = s.ReadOnlyField(source="ad.company.address")

    ad_thumbnail = ThumbnailField(source="ad.picture", size="200x200", read_only=True)

    class Meta:
        exclude = ('user',)
        model = m.Claim


class ClaimSerializerDeep(ClaimSerializer):

    class Meta:
        exclude = ('user',)
        model = m.Claim
        depth = 2


class ClaimSerializerFlat(ClaimSerializer):
    class Meta:
        exclude = ('user',)
        model = m.Claim


@permission_classes((IsAuthenticated,))
class ClaimList(Limitable, generics.ListCreateAPIView):
    model = m.Claim

    def get_queryset(self):
        tab = self.request.GET.get("tab", "active")
        q = m.Claim.objects.filter(user=self.request.user.pk)
        if tab == "active":
            q = q.filter(redeemed=False, ad__end__gte=dt.date.today()) …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

0
推荐指数
1
解决办法
798
查看次数

标签 统计

django ×1

django-rest-framework ×1

python ×1