Django Rest Framework没有正确更新布尔字段

时间:2015-09-10 20:07:21

标签: python django django-rest-framework

出于某种原因,我在Store模型中有一个已停止更新的布尔字段。我有一个前端应用程序(ember.js)和一个Django Rest Framework后端。

我首先想到问题出现在我的ember应用程序中,即使在请求中它正确地发送了open字段。然后我注意到在可浏览的DRF API中它也忽略了open字段,所以Django方面肯定有问题。

# models.py
class Store(models.Model):
    """
    Single vendor of coffee. The user will be able to access the store and
    manage their drinks and information.
    """
    user = models.OneToOneField(User)
    name = models.CharField(max_length=30)
    open = models.BooleanField(default=False)
    confirm_message = models.CharField(max_length=500)

# serializers.py
class StoreSerializer(ModelSerializer):
    class Meta:
        model = Store

# views.py
class StoreViewSet(ModelViewSet):
    queryset = Store.objects.all()
    serializer_class = StoreSerializer

所有东西看起来都很棒,但由于某些原因,BooleanField被忽略了。所有其他字段都正确更新。

任何想法可能是什么?

1 个答案:

答案 0 :(得分:0)

不确定问题的原因是什么,但从DRF 3.1.x升级到3.2.x解决了这个问题。在生成数据库查询之前,某些内容已被破坏,并且没有为布尔字段发送正确的值。