在我的Django Rest Framework API应用程序中,我正在尝试添加一个字段";product_name"在Product模型中;product_name"字段与Store模型无关,如下所示:
型号.py
from django.db import models
# Create your models here.
class Store(models.Model):
company_name=models.CharField(max_length=50)
company_gst_no=models.CharField(max_length=200)
class Product(models.Model):
company_name=models.ForeignKey(Store, on_delete=models.CASCADE)
product_name=models.CharField(max_length=200, null=True)
class Purchase(models.Model):
company_name=models.ForeignKey(Store, on_delete=models.CASCADE)
p_n=models.ForeignKey(Product, on_delete=models.CASCADE)
purchase_rate=models.IntegerField(null=False)
purchase_quantity=models.IntegerField(null=False)
序列化程序.py
# api/serializers.py
from rest_framework import serializers
from .models import *
class StoreSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Store
fields = ['url','id','company_name', 'company_gst_no']
class ProductSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Product
fields = ['url','id', 'product_name']
class PurchaseSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Purchase
fields = ['url','id','company_name']
视图.py
from django.shortcuts import render
from rest_framework import generics, viewsets
from .models import *
from .serializers import *
# Create your views here.
class StoreList(viewsets.ModelViewSet):
queryset = Store.objects.all()
serializer_class = StoreSerializer
class Product(viewsets.ModelViewSet):
queryset = Product.objects.all()
serializer_class = ProductSerializer
class Purchase(viewsets.ModelViewSet):
queryset = Purchase.objects.all()
serializer_class = PurchaseSerializer
错误是";在/product/"字段名称product_name
对型号Store
无效">
您尝试过使用其他名称吗?例如:
name=models.CharField(max_length=200, null=True)
若你们收到同样的错误,是因为不是一个字段的问题。
在这种情况下。。。添加此字段后是否应用了迁移?
python manage.py makemigrations
python manage.py migrate