问题描述
我在运行单元测试时遇到以下错误,但从邮递员发帖时它工作正常。
{'users': [ErrorDetail(string='This field is required.',code='required')]}
我的serializer.py:
class UserSerializer(serializers.Serializer):
first_name = serializers.CharField(max_length=60,allow_blank=False)
last_name = serializers.CharField(max_length=60,allow_blank=False)
email = serializers.EmailField(max_length=100,allow_blank=False)
class CompanySerializer(serializers.Serializer):
users = UserSerializer(many=True,write_only=True)
class Meta:
model = Company
fields = '__all__'
extra_kwargs = {
'tech_tags': {'required': False}
}
这是我的单元测试。序列化程序中不需要 tech_tags,但它在测试期间显示 tech_tags required 错误。即使用户数据在请求有效负载中发送,用户数据也显示必需错误。
def test_create_company(self):
request_data = {
"name": "Test Company","users": [
{
"first_name": "Test Name.","last_name": "Test Name.","email": "email",}
]
}
request = self.factory.post('/api/company',request_data)
view = CompanyViewSet.as_view({'post':'create'})
force_authenticate(request,user=self.admin_user)
response = view(request)
self.assertEqual(response.status_code,201)
{'users': [ErrorDetail(string='This field is required.',code='required')]}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)