我想知道是否可以遍历many_to_many字段中的项目。 我的目标是返回一个与我的get_employees方法类似的项目列表。
class UserSerializer(serializers.ModelSerializer):
days_since_joined = serializers.SerializerMethodField('get_days_since_joined')
employees = EmployeeSerializer(many=True)
class Meta:
model = User
def get_days_since_joined(self, obj):
return (now() - obj.date_joined).days
def get_employees:
return [employee for employee in obj.employees]
答案 0 :(得分:5)
这与假设完成的方式相差无几。需要包括的是obj.employees.all()而不仅仅是obj.employees。
.all()是附加到模型的所有对象的实际getter方法。