除特定列之外的Django Rest框架

时间:2018-03-13 08:21:49

标签: django django-rest-framework

我想仅在视图数据中排除rest框架中的特定列。 (不是用于放置数据)

[models.py]

class article(models.Model):
    articleNo = models.AutoField(primary_key=True)
    userkey = models.CharField(max_length=50, null=False)
    content = models.CharField(max_length=500, null=False)
    password = models.CharField(max_length=20, null=False, default='1234')
    date = models.DateTimeField(auto_now_add=True)

[serializers.py]

class articleSerializer(serializers.ModelSerializer):
    class Meta:
        model = article
        fields = ('articleNo', 'userkey', 'content', 'password', 'date')

我从fields = ('articleNo', 'content', 'date')更改serializers.py后,

只有文章没有,内容,日期将在休息框架中显示。

但是,当我将数据投入文章时,它没有正确插入。

插入数据后,MySQL数据如下。

articleNo|content | date                       |userkey    |password    
    37   | Test   | 2018-03-13 08:01:07.424564 |           | 1234

userkey为空,密码为默认值。

也许我必须修改serializers.py我想,但我不知道如何修复它。

如何正确插入数据?

1 个答案:

答案 0 :(得分:1)

不,你不能这样做,如果你删除任何字段,这意味着从串行器传递时不会采取字段,

而不是试试这个

class articleSerializer(serializers.ModelSerializer):
    userkey = serializers.CharField(write_only=True)
    password = serializers.CharField(write_only=True)
    class Meta:
        model = article
        fields = ('articleNo', 'userkey', 'content', 'password', 'date')