Django Rest框架,特定列除外

Django Rest框架,特定列除外,django,django-rest-framework,Django,Django Rest Framework,我只想排除rest框架中视图数据的特定列。(不适用于put数据) [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) pass

我只想排除rest框架中视图数据的特定列。(不适用于put数据)

[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)
[序列化程序.py]

class articleSerializer(serializers.ModelSerializer):
    class Meta:
        model = article
        fields = ('articleNo', 'userkey', 'content', 'password', 'date')
在我从
serializers.py
更改
字段=('articleNo','content','date')
之后

rest框架中只显示articleNo、content、date

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

插入数据后,MySQL数据如下

articleNo|content | date                       |userkey    |password    
    37   | Test   | 2018-03-13 08:01:07.424564 |           | 1234
userkey为空,密码为默认值

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


如何正确插入数据?

不,您不能这样做,如果您删除任何字段,这意味着从序列化程序传递时将不会获取该字段

试试这个

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')

这正是我想要的!谢谢你的快速回复!!很高兴能帮上忙,兄弟:)我刚到Stackoverflow。接受答案是单击您的帖子旁边的向上箭头按钮?确定。我点击了它。谢谢。
PEP8
正确的python变量名将是
article\u no
而不是
article no