为 django 应用程序构建 vue.js gui,我有两个 .vue 页面,一个用于添加正在工作的新客户端,另一个用于添加不工作的新客户端帐户。除了字段之外,它们看起来是相同的。
第一个正在工作的。
addNewClient 方法。
// POST API FOR ADDING client
console.log(this.addNewClient)
getAPI.post('http://localhost:8000/api/client/', this.addNewClient)
.then(res=>{
以及摆姿势时的console.log。
submitNewClient
ClientMX.vue:210 Proxy(Object) {clientName: 'Bill Barclay', clientEmail: '[email protected]', clientPhone: '1234567890', clientCompany: 'Barclay Industries'}
mixins.js:130 --mixins toggleModal(addClientModal)
一切正常。
现在是 addnewClientAccunts 方法
console.log(this.addNewclientAccount)
getAPI.post('http://localhost:8000/api/clientaccount/', this.addNewClientAccount)
以及相关的console.log
submitNewClientAccount
ClientAccounts.vue:284 Proxy(Object) {client_fk: 28, client_platform: 'FBU', client_key: 'test', client_value: '123456'}
xhr.js:187 POST http://localhost:8000/api/clientaccount/ 400 (Bad Request)
序列化器实际上是相同的......
class ClientAccountsSerializer(serializers.ModelSerializer):
class Meta:
model = ClientAccounts
fields = ('id', 'client_fk', 'client_platform', 'client_key', 'client_value' )
extra_kwargs = {
'id': {'read_only': True}, # ID is usually read-only
}
def create(self, validated_data):
logger.info("ClientAccountsSerializer.create validated_data = %s ", validated_data)
return ClientAccounts.objects.create(**validated_data)
class ClientSerializer(serializers.ModelSerializer):
class Meta:
model = Client
fields = ('id', 'clientName', 'clientEmail', 'clientPhone', 'clientCompany')
extra_kwargs = {
'id': {'read_only': True}, # ID is usually read-only
}
def create(self, validated_data):
logger.info("ClientSerializer.create validated_data = %s ", validated_data)
return Client.objects.create(**validated_data)
景色也几乎一样...
def post(self, request):
print("Client post request.data = %s ", request.data)
serializer = ClientSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_200_OK)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
和
def post(self, request):
print("ClientAccounts post request.data = %s ", request.data)
serializer = ClientAccountsSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_200_OK)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
客户端发布终端显示带有新客户端的 json 记录的请求数据。 ClientAccounts 请求数据为空。
两者之间唯一的区别在于领域。这两个模型具有不同的字段,但只有失败的模型具有外键。
这可能是我遗漏的一些简单的东西,但我已经检查并仔细检查了姓名和案例,但发出的数据似乎是正确的,只有客户帖子正在工作。
好的解决了,我的错误是在看了至少两个小时后,我使用比较,发现一个是大写的 C,另一个是小写的 c。让它们相同,宾果游戏,我们赢了。