【发布时间】:2021-05-26 09:48:00
【问题描述】:
我想加入两张桌子, 我有模特:
员工:
class Employee(models.Model):
employee_identity = models.CharField(max_length=255, blank=True, null=True)
full_name = models.CharField(max_length=255, blank=True, null=True)
place_birth = models.CharField(max_length=255, blank=True, null=True)
date_birth = models.DateField(blank=True, null=True)
role = models.CharField(max_length=255, blank=True, null=True)
no_hp = models.CharField(max_length=255, blank=True, null=True)
address = models.CharField(max_length=255, blank=True, null=True)
class Meta:
managed = False
db_table = 'employee'
处罚:
class Penalty(models.Model):
employee = models.ForeignKey(Employee,on_delete=models.CASCADE)
type = models.CharField(max_length=255, blank=True, null=True)
start_date = models.DateField(blank=True, null=True)
end_date = models.DateField(blank=True, null=True)
doc = models.CharField(max_length=255, blank=True, null=True)
class Meta:
managed = False
db_table = 'penalty'
我的员工序列化器:
class EmployeeSerializer (serializers.ModelSerializer):
class Meta:
model = Employee
fields = '__all__'
我的 PenaltySerializer:
class PenaltySerializer (serializers.ModelSerializer):
class Meta:
model = Penalty
fields = ('employee','type','start_date','end_date')
我预期的点球结果:
"results": [
{
"employee": 14871,
"type": "low",
"start_date": "2018-10-15",
"end_date": "2018-10-16",
"employee_identity": "A1738129",
"full_name": "Full name here",
"role": "staff"
}
]
我尝试在我的序列化程序中使用它
class PenaltySerializer (serializers.ModelSerializer):
a = EmployeeSerializer(many=True,read_only=True)
class Meta:
model = Penalty
fields = ('employee','type','start_date','end_date','a')
但是 'a' 的结果没有显示出来。
【问题讨论】:
标签: mysql django api rest django-rest-framework