1、ModelSerializer 比Serializer封装好了一层,直接自己生成的create和update,不用覆盖了,其实推荐用这个,毕竟Serializer封装的很低级,既然用django,就要用好点的。
正常的应该是这样的
class AccountSerializer(serializers.ModelSerializer):
class Meta:
model = Account
fields = ('id', 'account_name', 'users', 'created')
class AccountSerializer(serializers.ModelSerializer):
class Meta:
model = Account
fields = '__all__'
官网推荐用第一种,因为第二种,改变model时,可能无意会泄露数据
2、还有个省事的,exclude是除了某个字段,其他的都显示
class AccountSerializer(serializers.ModelSerializer):
class Meta:
model = Account
exclude = ('users',)
3、当一个model有外键的时候,默认显示的是外键的id,此时要显示外键的所有值可以用下面,depth,会把外键