Django-Rest-Framework 错误:字段名称'product_name'对模型无效'Store'



在我的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

相关内容

最新更新