回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我的应用程序中有两个模型。以下是我在<code>models.py</code>中的代码:</p>
<pre><code>from django.db import models
class TblDivision(models.Model):
strdivisionname = models.CharField(db_column='strDivisionName', max_length=35, blank=True, null=True) # Field name made lowercase.
class Meta:
db_table = 'Tbl_Division'
class TblPosition(models.Model):
strpositionname = models.CharField(db_column='strPositionName', max_length=30, blank=True, null=True) # Field name made lowercase.
class Meta:
db_table = 'Tbl_Position'
class TblEmployee(models.Model):
strname = models.CharField(db_column='strName', max_length=70, blank=True, null=True) # Field name made lowercase.
stremployeeid = models.CharField(db_column='strEmployeeID', max_length=10, blank=True, null=True) # Field name made lowercase.
bitactive = models.BooleanField(db_column='bitActive', blank=True, null=True) # Field name made lowercase.
intdivision = models.ForeignKey(TblDivision, db_column='intDivision',related_name='division', on_delete=models.CASCADE)
intposition = models.ForeignKey(TblPosition, db_column='intPosition',related_name='position', on_delete=models.CASCADE)
class Meta:
db_table = 'Tbl_Employee'
</code></pre>
<p>这是我在<code>serializer.py</code>中的代码:</p>
<pre><code>from rest_framework import serializers
from .models import TblEmployee,TblDivision
class DivisionSerializer(serializers.ModelSerializer):
class Meta:
model = TblDivision
fields=['id','strDivisionName']
class EmployeeSerializer(serializers.ModelSerializer):
division = DivisionSerializer(many=True, read_only=True)
class Meta:
model = TblEmployee
fields=['id','strname','stremployeeid','intdivision','division']
</code></pre>
<p>这是我的{<cd3>}:</p>
<pre><code>from .models import TblEmployee
from .serializer import EmployeeSerializer,DivisionSerializer
from rest_framework import status
from rest_framework.response import Response
from rest_framework.decorators import api_view
@api_view(["GET", ])
def api_list_employee_view(request):
try:
employee_list = TblEmployee.objects.all()
except TblEmployee.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
if request.method == "GET":
serializer = EmployeeSerializer(employee_list, many="true")
dataEmployee = serializer.data
return Response(dataEmployee)
</code></pre>
<p>我想创建一个简单的API,以JSON格式显示来自员工模型及其部门名称的数据。但是API没有显示<code>strDivisionName</code>字段。它只显示来自<code>Employee</code>模型的字段。有人能解释一下我的问题和解决办法吗?我还是Django Rest Framewrok的新手。谢谢你</p>