Python 如何在框架中获得所需的结果?
我有以下模型,希望在WebAPI中显示一些必需的结果Python 如何在框架中获得所需的结果?,python,django,django-rest-framework,webapi,Python,Django,Django Rest Framework,Webapi,我有以下模型,希望在WebAPI中显示一些必需的结果 class Poll(models.Model): question = models.CharField(max_length=100) created_by = models.ForeignKey(User, on_delete=models.CASCADE) pub_date = models.DateTimeField(auto_now=True) class Choice(models.Model):
class Poll(models.Model):
question = models.CharField(max_length=100)
created_by = models.ForeignKey(User, on_delete=models.CASCADE)
pub_date = models.DateTimeField(auto_now=True)
class Choice(models.Model):
poll = models.ForeignKey(Poll, related_name='choices', on_delete=models.CASCADE)
choice_text = models.CharField(max_length=100)
class Vote(models.Model):
choice = models.ForeignKey(Choice, related_name='votes', on_delete=models.CASCADE)
poll = models.ForeignKey(Poll, on_delete=models.CASCADE)
voted_by = models.ForeignKey(User, on_delete=models.CASCADE)
我的设置方式如下所示:
class VoteSerializer(serializers.ModelSerializer):
voted_by = serializers.StringRelatedField(many=False)
class Meta:
model = Vote
fields = '__all__'
class ChoiceSerializer(serializers.ModelSerializer):
votes = VoteSerializer(many=True, required=False)
class Meta:
model = Choice
fields = '__all__'
class PollSerializer(serializers.ModelSerializer):
choices = ChoiceSerializer(many=True, read_only=True, required=False)
created_by = serializers.StringRelatedField(many=False)
class Meta:
model = Poll
fields = '__all__'
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('username', 'email', 'password')
extra_kwargs = {'password': {'write_only': True}}
def create(self, validated_data):
user = User(
email=validated_data['email'],
username=validated_data['username']
)
user.set_password(validated_data['password'])
user.save()
Token.objects.create(user=user)
return user
我想要一个结果,其中只有那些投票显示在选项中,其中vote_by='choicse id'。
**但结果包括所有的选票**
{
“id”:1,
“投票”:[
{
“id”:1,
“投票人”:1,
"选择":一,,
“投票”:1
},
{
“id”:2,
“投票人”:2,
"选择":一,,
“投票”:1
}
],
“选择文本”:“它提供web API和安全认证权限。”,
“投票”:1
}