我想仅在视图数据中排除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我想,但我不知道如何修复它。
如何正确插入数据?
答案 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')