Django REST 通用 ListCreateView GET 请求有效但 POST 请求无效
Django REST generic ListCreateView GET request is working but POST request is not working
我创建了一个通用的 ListCreateAPI 视图。我能够对视图执行 GET 请求,但不能执行 POST 请求。
这是我的模型:
class InvoiceEntry(models.Model):
SERVICE_OR_EXPENSE_CHOICE = [('SER', 'Service'),('EXP', 'Expense')]
TYPE_CHOICE = [('BPA', 'BPA'),('CAE', 'CAE'),('MEC', 'MEC'),('TRA', 'Travel')]
invoice_number = models.CharField(max_length=20)
description = models.CharField(max_length=200)
rate = models.FloatField()
units = models.FloatField()
discount = models.FloatField(default=0)
amount = models.FloatField()
service_or_expense = models.CharField(max_length=10, choices=SERVICE_OR_EXPENSE_CHOICE)
type = models.CharField(max_length=10, choices=TYPE_CHOICE)
def __str__(self):
return '[' + str(self.invoice_number) + '][' + self.description + '][' + self.service_or_expense + '][' + self.type + ']'
这是我的观点:
class InvoiceEntryListCreate(ListCreateAPIView):
queryset = InvoiceEntry.objects.all()
serializer_class = InvoiceEntrySerializer
这是我的序列化器:
class InvoiceEntrySerializer(serializers.ModelSerializer):
class Meta:
model = InvoiceEntry
fields = ['invoice_number', 'description', 'rate', 'units', 'discount', 'amount', 'service_or_expense', 'type']
尝试 post 请求时出现以下错误:
{
“详细信息”:“JSON 解析错误 - 预期值:第 1 行第 1 列(字符 0)”
}
就像 Abdul 和 Carlos 提到的那样,它需要作为 JSON 有效负载
提交
我创建了一个通用的 ListCreateAPI 视图。我能够对视图执行 GET 请求,但不能执行 POST 请求。
这是我的模型:
class InvoiceEntry(models.Model):
SERVICE_OR_EXPENSE_CHOICE = [('SER', 'Service'),('EXP', 'Expense')]
TYPE_CHOICE = [('BPA', 'BPA'),('CAE', 'CAE'),('MEC', 'MEC'),('TRA', 'Travel')]
invoice_number = models.CharField(max_length=20)
description = models.CharField(max_length=200)
rate = models.FloatField()
units = models.FloatField()
discount = models.FloatField(default=0)
amount = models.FloatField()
service_or_expense = models.CharField(max_length=10, choices=SERVICE_OR_EXPENSE_CHOICE)
type = models.CharField(max_length=10, choices=TYPE_CHOICE)
def __str__(self):
return '[' + str(self.invoice_number) + '][' + self.description + '][' + self.service_or_expense + '][' + self.type + ']'
这是我的观点:
class InvoiceEntryListCreate(ListCreateAPIView):
queryset = InvoiceEntry.objects.all()
serializer_class = InvoiceEntrySerializer
这是我的序列化器:
class InvoiceEntrySerializer(serializers.ModelSerializer):
class Meta:
model = InvoiceEntry
fields = ['invoice_number', 'description', 'rate', 'units', 'discount', 'amount', 'service_or_expense', 'type']
尝试 post 请求时出现以下错误:
{ “详细信息”:“JSON 解析错误 - 预期值:第 1 行第 1 列(字符 0)” }
就像 Abdul 和 Carlos 提到的那样,它需要作为 JSON 有效负载
提交